Latency Percentile Aggregation Explorer
See why averaging worker p95 values is not the same as calculating p95 over the pooled request population. Merge cumulative buckets and inspect the classic-histogram interpolation estimate without reconstructing observations from percentile summaries.
Your data stays in this tab. No uploads, credentials, telemetry, or API calls.
Inputs
Fixtures are explicitly synthetic and editable. Supply raw request durations grouped by worker.
Schema: an object of worker names mapped to nonempty arrays of finite, nonnegative numbers. Maximum 50 workers and 10,000 total observations.
Comma or whitespace separated. Boundaries must be finite, positive, unique, and strictly increasing. Values equal to a boundary are included in that bucket.
Results
Nearest-rank calculations use rank ceil(0.95 × N). Histogram interpolation is shown separately.
Warnings and boundary notes
Worker p95 values
| Worker | Requests | Nearest-rank p95 | Weight |
|---|
Merged cumulative buckets
| Upper bound | Interval count | Cumulative | Share | Distribution |
|---|
Classic-histogram linear-interpolation estimate
Interpretation limits
- The pooled nearest-rank p95 is calculated from the supplied raw observations. Worker percentile summaries alone cannot be merged into that value.
- Request weighting changes the average of worker p95 values; it does not turn that average into the pooled p95.
- Cumulative bucket counts can be added for disjoint populations sharing boundaries and an observation window, but interpolation within a bucket remains an estimate.
- If the p95 rank falls into the overflow bucket above the highest finite boundary, this tool does not invent an upper bound or reconstruct raw values.
- This bounded teaching tool does not ingest telemetry, handle counter resets, model native exponential histograms, or claim production-system compatibility.
Related reading
Find these tools useful?
Get one short weekly dispatch with new tools, guides, and what we tested. No spam, unsubscribe anytime.