Where the time went, without a row per span.
One request makes fifty spans and at most one error. Storing each of those as a database row is why performance monitoring gets expensive, and it is the thing Bugtail does not do.
Histograms rather than rows
Every trace is counted. Latency goes into fixed-size histograms, which is what makes a percentile survive aggregation: a median of medians is not a median, but a histogram of histograms is still a histogram. So the p95 for a route over a month is a real p95 rather than an average of averages.
Only the traces worth keeping get their span tree written down: the failed ones, the slow ones, and a sample of the rest. That is what a waterfall is for, and you do not need a waterfall for the four thousand requests that behaved.
Spans aggregated by shape
A span description is free text arriving from the outside, so spans are grouped by normalised shape rather than stored individually. One query is one row whether it ran once or ten million times, and the questions that actually get asked are answered from a table that stays small: which query is slowest across every route, how much of the day it accounts for, and how many of it a single request makes.
Per route and per job
A queue worker is a transaction like any other, and usually the one nobody was watching.
N+1 made visible
How many times one query shape ran inside a single request, which is the number that makes the problem obvious.
Bounded by design
Groups are capped per project and per trace, so one absurd trace cannot flood the rollups.
Questions people actually ask
Do I get a flame graph?
You get a waterfall for the traces that were kept, which is the failed, the slow and the sampled ones. For the aggregate view you get span groups ranked by total time, which is the view that tells you what to fix.
How are spans metered?
By the span, not by the trace, because spans are what the rollups cost. A trace that does not fit within your quota is skipped whole rather than half-recorded, so a waterfall never has holes in it.
Fourteen days of Team, without a card.
Sign up with your work address, prove your domain with one DNS record, and paste a DSN. The first stack trace usually arrives before the coffee does.
No card. The trial ends by itself and drops to Free; nothing is charged unless you choose a plan.