A live latency distribution. The average says 300ms and looks fine — but the p99 marker sits at 8s because of a slow tail. Add a few slow requests and watch the average barely move while p99 explodes.
100 fast requests, plus a few slow ones. Drag the slider to add slow requests and watch the average stay calm while p99 explodes — that's the tail the average hides.
2 / 102
Average
303ms
what dashboards often show
p50 (median)
150ms
typical user
p95
205ms
slower 5%
p99
8.0s
worst 1%
Latency distribution
920–200ms
8200–500
0500ms–1s
01–3s
23s+
The average is just 303ms — looks healthy. But p99 is 8.0s: about 1 in 100 users is waiting that long. The average completely hid them.
What just happened
▹The average latency lies. A handful of very slow requests barely move the mean, so 'avg 300ms' can hide users waiting 8 seconds.
▹Percentiles tell the truth about the tail. p50 is the typical experience, p95 is the slower 5%, p99 is the worst 1%. For production SLOs, p95 and p99 matter far more than the average.
▹Add just a few slow requests here and watch: the average inches up while p99 leaps to 8s. Those are real users having a terrible time — invisible if you only watch the mean.