OBSERVABILITY · TRACE WATERFALL INSPECTOR
Agent tracing: connect parent and child spans
Inspect actual span IDs, parent relationships, sampling decisions and a deterministic execution schedule.
Your experiment
Select a tool span and compare its parent ID with the agent span ID. Select the database child and follow its parent back to the tool.
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.
Follow identity through the waterfall
The incoming traceparent editor supplies the trace identity, upstream parent and sampling bit. Keep the valid version-00 example, select Tool 1 and inspect its parent: with context propagation enabled it belongs to Agent work. Select Database 1 and verify that its parent is Tool 1 rather than the incoming request. Disable context propagation and inspect the new root trace for each remote tool. The work still occurs, but the original trace can no longer describe one connected end-to-end call tree.
Control the execution schedule
Parallel tool calls starts the tools together after local work; disabling it runs them sequentially. Tool fan-out chooses one to four tools. Local work controls the modeled work around the tool phase, while Tool latency sets the first tool duration. Later tool durations are deliberately larger by fixed increments, as explained in the model scope. Failure selects no failed dependency, the first tool, or all tools; this application marks their ancestors as failed too. Compare parallel and sequential execution with three tools: request latency changes, but summing overlapping parent and child durations is still not a valid end-to-end latency calculation.
Inspect missing telemetry
Capture spans controls whether modeled work is recorded for export. Respect sampling makes the incoming sampled bit matter when context is propagated. Change the final header byte from 01 to 00 and compare exported spans with visible work. Disabling capture is not disabling execution; the drawing intentionally keeps the schedule visible so you can see what telemetry would miss. The Span selector, or a clicked waterfall row, chooses details including identifiers, timestamps, status and recording decisions.
Replay a bounded example
Play reveals the millisecond schedule over a minute of teaching playback. Pause freezes the inspection, Next event advances the view, Restart rewinds, Speed changes the pace and the timeline scrubs the same schedule. This does not generate random traces or measure a service. Invalid incoming context starts a fresh local trace in this fixture; only version 00 is parsed. No exporter, clock synchronization, baggage, remote service or production tracing SDK is involved. Use the exact parent links and timestamps to explain what changed before generalizing to a real distributed trace.