Tracebench
Scrub a synthetic distributed-trace waterfall and flip it into a flame graph.
TryClick Jump to p50, note the Slowest link, then click Jump to p99 and compare the bottleneck.
Watch forp50 selects the upper-middle duration example; p99 is near the slowest 1% in this synthetic set.
The linked story describes related work; the scenarios and results here are synthetic.
Interactive model
Skill practicedDiagnose latency from distributed traces
Connection to my workNeuralEye documents metrics monitoring, not distributed traces; this separate lab practices locating latency across spans.
Understand the result
A purpose-built set of 300 synthetic traces includes sequential and concurrent spans and an injected slow-tail span. The p50 control selects the upper-middle trace by root duration from this even-sized set; p99 selects a trace near the slowest one percent. These discrete rank examples are not live service percentiles or production telemetry. Trace duration is elapsed wall time; the flame graph aggregates each span’s exclusive time, so overlapping work can total more than one request duration.
Controls
- View
- Switches between a Gantt-style waterfall (elapsed bars over time, nested by depth) and a flame graph (exclusive span time aggregated by kind and depth). Concurrent work may make the flame graph total exceed request duration.
- Trace index
- Scrubs through the corpus one trace at a time.
- Jump to p50
- Selects the upper-middle trace by root duration from this synthetic set.
- Jump to p99
- Selects a trace near the slowest one percent of this synthetic set.
- Reseed
- Builds a new deterministic synthetic trace set and returns the selection to its first trace.
What to watch for
- Compare the Slowest link readout for the selected p50 and tail examples in this constructed trace set.
- The p50 vs p99 stat compares the durations of these synthetic examples; it is not a live service percentile.
- In the waterfall view, inspect the highlighted critical path in the demo rather than assuming the widest or deepest bar is the bottleneck.
Why it happens
In this constructed set, selected traces contain deliberately varied span durations, so the slowest span and critical path can differ between the p50 and tail examples. Real critical-path analysis depends on the trace topology and timing data a service records; this small synthetic set illustrates the idea without describing production traffic.
How this idea relates to the linked work
NeuralEye’s project story documents monitoring with Prometheus and Grafana, not distributed traces. This separate teaching model lets me practice span causality, critical-path diagnosis, and tail-latency investigation without implying that NeuralEye produced the synthetic traces or measured timings.
See the broader engineering brief