An introduction to distributed tracing and Zipkin
summary
Demo shows working instrumentation in Java and JavaScript with Zipkin and a surprise language and proves traces survive HTTP headers end-to-end, not just theory. Covers concrete tradeoffs: probabilistic sampling to control volume, a three‑day retention heuristic used at Twitter, and costs of agents versus framework hooks. Shows a sidecar/service‑mesh approach (linkerd) and byte‑code agent techniques, and a live trace that identifies a network‑caused tail latency.
AI-written summary · about
chapters (24)
- 0:00Intro
- 2:35Focal areas
- 7:06Logs show response time
- 8:28Metrics show response time
- 10:10Traces show response time
- 11:25First thoughts...
- 12:27How do you write timing code?
- 13:53Logging response time
- 14:18Metric'ing response time
- 14:55Tracing response time
- 16:01Impact of timing code
- 17:00Should you write timing
- 18:18How to not see tracing
- 19:25Buddy tracing
- 20:50Agent tracing
- 21:56Framework Tracing
- 23:03How is timing data shipped?
- 25:16Parsing latency from events
- 26:01Bucketing duration
- 27:10Shipping spans
- 27:29How timing data grows
- 29:01Means to reduce volume
- 33:32Stitching all 3 together
- 35:32Leverage strengths while understanding weaknesses
related talks
30mDistributed Tracing: From Theory to Practice
36mDistributed Tracing: From Theory to Practice
45mLatency tracing in distributed Java applications
49mDistributed Tracing: How the Pros Debug Concurrent and Distributed Systems
57mDistributed Tracing: How the Pros Debug Concurrent and Distributed Systems
29mDistributed Request Tracing
24mDistributed Tracing : New DevOps Foundation.
50mDistributed Tracing in the Wild
