From request to root span.
The SDK times transactions automatically. You drill from the route to the span to the line.
Every transaction
Web requests and background jobs alike. Each transaction records total time plus throughput, latency, and error health per route.
DB, view, external
Component timings show where the time went — your code, your queries, or someone else’s API.
Spans with receipts
Each span carries normalized SQL and the source location that issued it. The slow query points at the file and line.
Spikes become incidents
p95 at 2× baseline is one of the six incident heuristics. A latency regression shows up as an incident, not a dashboard you forgot to check.
Where 4.8 seconds actually went.
The waterfall makes the breakdown unarguable: 38 ms of controller, 112 ms of database, 4.2 seconds waiting on an external API. The fix conversation starts from facts.
- Normalized SQL — literals masked, shape preserved
- Source location on every span
Throughput. Latency. Errors. Per route.
The route table is the triage view: every endpoint and job with its throughput, p95, and error rate. Sort by what hurts.
- Web requests and background jobs, side by side
- Latency anomalies feed Incident Intelligence