Why it matters
Traces make cross-service debugging tractable. Jaeger is the standard open-source choice. Understanding it enables real microservices ops.
Advertisement
The architecture
Agent: sidecar or per-host, receives spans from services (UDP/gRPC).
Collector: receives spans, processes, sends to storage.
Storage: Elasticsearch, Cassandra typical. Retention days to weeks.
Query + UI: search traces by service, operation, tags. Visualize as timeline.
Advertisement
How it works end to end
Sampling: head-based (decide at trace start) or tail-based (decide after full trace).
Tail-based keeps error traces, slow traces, sampled fraction of normal. Best of both worlds.
Alternatives: Grafana Tempo (cheaper storage), Zipkin (older, smaller footprint), commercial (Honeycomb, Datadog).