Show in graph
OBS

Operations → Observability

Correlation ID

An identifier propagated across requests, messages, and services so related work can be traced as one operation.

Correlation ID

A Correlation ID connects logs, messages, and service calls that belong to the same logical operation. It is especially useful when one user request crosses multiple services or becomes asynchronous work.

How it works

The entry point creates or accepts an identifier and propagates it through request headers, message metadata, logging context, and downstream calls. Every relevant log record includes the same value, allowing operators to reconstruct the operation without relying only on timestamps.

A correlation ID is not necessarily the same as a distributed trace ID. Tracing models spans, parents, timing, and causality; a correlation ID is a simpler shared lookup key. Systems often carry both.

Common mistakes

  • Generating a new identifier at every service boundary instead of propagating the existing one.
  • Trusting unbounded user-provided values without validation.
  • Failing to include the identifier in asynchronous messages.
  • Treating correlation as a substitute for structured logs or distributed tracing.