The Future of Tracing
summary
Shows concrete changes in Erlang/OTP 19: per-process trace queues and try-locking to avoid the old global dispatcher, reducing contention and making tracing scale across cores. Benchmarks with 10 processes × 1250 calls generate about 7 million trace messages per run and show ~3× speedup for tracing to processes, ~2× when omitting full arity, much lower memory (about one fifth) for port tracing, and tracer NIFs 20x faster than module callbacks; sequence tracing and DTrace/SystemTap/latency tooling support also land and work.
AI-written summary · about
chapters (13)
- 0:00Start
- 0:30Overview
- 4:31Trace Events
- 7:21Meta Tracing
- 15:44Sequence Tracing
- 19:08Scale Better on Multiple Cores
- 20:46Global Lock Order
- 26:02Functional Implications
- 29:12Tracing to a Process
- 30:54Tracing to a Port
- 33:22Tracer Modules
- 34:12Benchmarking
- 35:10Port Racing Events
related talks
52mTracking Down What Happened: A Comparison of Tracing Solutions
22mImproving Garbage Collection Observability with Performance Tracing
38mLTTng: Beyond Ring-Buffer Based Tracing
37mKernel and userspace tracing with LTTng and friends
27mBeyond OTLP: Unlocking the Potential of OS-native Tracing
35mLinux Tracing updates
34mTracing: The Bane of You Security Folks
57mDistributed Tracing: How the Pros Debug Concurrent and Distributed Systems
