Comparison
Distributed tracingvsSpan
Distributed tracing
you follow one slow request across six services and see exactly which hop ate eight hundred milliseconds.
Recording causally linked timing spans for a single request as it crosses process boundaries. It is the only tool that answers "where did the time go" in a distributed system. It requires context propagation through every hop, including queues, and one un-instrumented service breaks the chain for everything behind it.
Full entry →Span
you wrap the database call in its own timed unit so it shows up as its own bar inside the request's waterfall.
One timed operation within a trace, with a start, a duration, a parent and attributes. Spans nest to form the trace. Span granularity is a real cost decision: per-function spans generate enormous volume, while per-service spans hide the slow part inside them.
Full entry →