All challenges
intermediateReal-World Systems~50 min

Distributed Tracing

Follow a single request as it fans out across dozens of services. A trace is a tree of timed spans — one per operation — linked by parent/child ids and sharing a trace id. Build the span with its duration, a tracer that propagates context to child spans, the reassembly of a flat span list into its trace tree, and the analysis that finds total latency and the slowest operation. The model behind Jaeger, Zipkin, and OpenTelemetry.