Comparison
Correlation IDvsDistributed tracing
Correlation ID
you generate one id at the edge and stamp it on every log line the request produces anywhere in the system.
A single identifier propagated through every component handling a request, so logs across services can be joined. It is the cheapest possible observability investment and the one most often retrofitted during an incident. It must survive queue hops, or the async half of the request becomes unattributable.
Full entry →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 →