NOTE
Designing Distributed Tracing
Trace/span context propagation, sampling, storage, causality, asynchronous work, and correlation with metrics/logs.
This is a historical learning note and may contain outdated or incomplete understanding.
Distributed tracing propagates a trace context through service/process boundaries. Each operation records a span with timing, parent/links, attributes, status, and relevant events.
Propagation must cross HTTP/RPC/messaging/executor boundaries correctly. Asynchronous fan-out may require links or non-tree relationships rather than forcing every workflow into a simple call stack.
Sampling controls cost but affects debugging/statistics. Avoid high-cardinality/secrets in attributes and correlate traces with metrics/logs through stable service/trace identity.