OBSERVABILITY · TRACE WATERFALL INSPECTOR
Distributed tracing: preserve context across agents
Inspect actual span IDs, parent relationships, sampling decisions and a deterministic execution schedule.
Your experiment
Disable context forwarding and inspect the remote trace IDs. Compare the number of separate traces with the same underlying request schedule.
Click any waterfall row or use the span selector. A gold outline marks your selection; details include the exact parent ID, timestamps, status and export decision.
The one-minute inspection is a slowed visualization of the modeled millisecond timeline, not a measured request. Inclusive parent and child durations overlap.
Selected span
Offline schedule and trace-context exercise; no agent, network request or OpenTelemetry exporter runs. Header validation deliberately supports version 00 only and is not a complete forward-compatible W3C parser. IDs are deterministic teaching fixtures, not production ID generation. Later tool durations increase by 25% of the first tool duration; database work occupies 20–80% of each tool span. A dependency failure marks its ancestors as failed in this application model. Sampling is a local policy, not an authorization boundary. Newly rooted remote traces default to sampled when context is not forwarded. The canvas shows modeled work even when telemetry is not exported, exposing the blind spot. No clock skew, spans lost in transport, baggage, tracestate or real latency is modeled. W3C Trace Context · OpenTelemetry trace concepts.
Separate execution from recorded telemetry
This lab constructs an explicit incoming request, agent span, remote tool spans and database children. Their timestamps determine execution duration whether or not spans are exported. The waterfall remains visible when capture is disabled so you can inspect the telemetry blind spot. Parent durations include child work and overlap it; adding every span duration does not measure request latency. Inspect span IDs, trace IDs and parent IDs alongside the timing bars to distinguish a slow schedule from broken correlation.
Configure work and context
Incoming traceparent accepts the fixture version-zero lowercase hexadecimal format with nonzero trace and parent IDs. Invalid input starts a synthetic root and displays a validation message. Forward context to remote tools controls whether they share the incoming trace; without it each tool creates its own root. Run tools in parallel changes scheduling. Remote tools controls fanout from one to four. Local work before and after tools controls both local intervals. First tool duration sets the first remote span; later tools take twenty-five percent more of that base per index. Dependency fault marks the first database or all databases as failed and propagates that error through modeled ancestors.
Measure a schedule and a correlation failure
With defaults, three tools take two hundred, two hundred fifty and three hundred milliseconds. Parallel execution gives a three-hundred-ninety-millisecond request; serial execution gives eight hundred forty milliseconds. Disable context forwarding while restoring parallel execution: request duration remains three hundred ninety milliseconds, but one trace becomes four. This is a correlation failure rather than slower work. Select First database fails: database one, tool one, agent work and the incoming request become error spans, four in total. The exercise does not infer additional delay from the error.
Inspect sampling and spans
Capture and export spans disables recording without changing execution. Honor incoming unsampled flag applies when a valid header ends with an unsampled flag: honoring it suppresses recording of the propagated trace. If forwarding is disabled, new remote roots default to sampled in this local policy, so remote spans can still be exported. Inspect a span selects the exact JSON record; clicking a waterfall row provides the same selection. Play and Pause reveal the schedule over sixty inspection seconds. Next span boundary advances to a start or end time; Restart rewinds; Speed changes viewing pace; Inspection time scrubs. Parameter edits restart playback unless reduced motion is requested.
Keep the fixture boundaries explicit
Database work occupies twenty through eighty percent of its tool span. IDs are deterministic teaching values, not production generators. The validator deliberately handles only version zero rather than complete forward-compatible trace-context parsing. No OpenTelemetry exporter, remote agent, clock skew, dropped span transport, baggage or tracestate is implemented. Exported span count describes a configured local decision, not confirmed collector receipt. The selected span JSON contains the complete modeled record even before playback reaches its end; use the progress bars for the inspected execution prefix.