16 / Follow the critical path

Read an API trace as a sequence of decisions, not a wall of spans

Inspect timing, parent-child relationships, retries, and failure hotspots in OpenTelemetry, Jaeger, or Zipkin trace data.

What goes in, what comes out, and what the result can prove.

INPUTJaeger, Zipkin, OpenTelemetry or generic trace data
OUTPUTSpan hierarchy, critical path, errors and timing evidence

Distinguish total duration from the critical path

POST /checkout             842 ms
├─ inventory.reserve      118 ms
├─ payment.authorize      604 ms  ERROR
│  └─ bank.request        571 ms  timeout
└─ order.persist           41 ms

Three checks before the result becomes a decision.

01

Structure

Rebuild parent/child relationships and flag missing parents.

02

Critical path

Identify spans that actually determine end-to-end latency.

03

Context

Correlate errors with service, operation and attributes.

What this workflow does not prove.

Before you put it into a real workflow.

Which formats are supported?

Common OpenTelemetry, Jaeger, and Zipkin JSON representations are supported.

Does this collect live production traces?

The public viewer focuses on trace artifacts you provide; production collection belongs in your observability pipeline.

Can I share a trace?

Use sharing only after reviewing and redacting attributes that may contain identifiers or secrets.

Start with one concrete API problem.

Keep the first step small. Move into a workspace when the result deserves to be saved, repeated, or shared.