trace vs span
A request moves through your system. Click "Send Request" and watch it flow.
The whole journey is a trace. Each stop along the way is a span.
When a user makes an API call, it often passes through many services. Distributed tracing captures this journey. Tap the button to send a request, then tap individual spans in the waterfall to explore what each one recorded.
A trace is the whole story of a request — from start to finish, across every service it touches.
A span is one chapter in that story — one service doing its part.
Think of it like a book: the trace is the book, each span is a chapter.
Every chapter knows which book it belongs to (via the trace ID).
A span is one chapter in that story — one service doing its part.
Think of it like a book: the trace is the book, each span is a chapter.
Every chapter knows which book it belongs to (via the trace ID).
Summary
| Trace | Span | |
|---|---|---|
| Scope | End-to-end request journey | A single operation within the trace |
| Made of | Multiple spans | Name, start time, duration, metadata |
| Identity | Trace ID (shared by all spans) | Span ID (unique per operation) |
| Relationship | Contains spans | Belongs to a trace, may have a parent span |
| Analogy | The whole journey on a map | One leg of the journey |