← SkillSafe / Trace Desk

One slow request. Where did the time go?

Drop or paste one trace exported from Jaeger, Zipkin, Grafana Tempo or an OpenTelemetry collector. Your browser builds the span tree and the waterfall, works out each span's own time and the critical path (what the request was actually waiting on), and flags N+1 loops, slow and repeated queries, calls made one after another, retries, where an error started, time no span explains, clock skew and orphan spans. Free, before you sign in, and nothing is uploaded. Then the desk diagnoses it: the bottleneck, the likely causes and how to check them, the fixes with the most each can save, and the instrumentation to add - checked against the trace before you trust it.

The services and ids in the examples are invented, and each uses a different export format. Each comes with a saved model reply, so you can see the whole page without signing in or spending a credit.

nothing pasted yet
Drop a .json file, or
Paste a trace to price the diagnosis.

What this does, and what it does not

The check is computed, not guessed. Self time is a span's duration minus the time its children cover. The critical path is walked back from the end of the root span: at each moment the request is waiting on the child that finished last, and the time between children belongs to the parent. Its shares add up to the request's latency, so they say what making a span faster could actually save. N+1 means five or more calls with the same service, operation and query shape under one parent that barely overlap; query shapes replace literals with ?. Shares of a request under 50 ms are not flagged. Asynchronous children (follows-from, producer and consumer spans) are only followed inside their parent's window.

The diagnosis sees only what the page computed and a listing of the spans that matter - not your code, your logs or your metrics - and it is told so. Every span id, share and saving it states is checked against the trace. A pasted trace stays in this browser unless you run a diagnosis, which sends the page's facts, not the raw export. Derived from the agent skill @wshobson/distributed-tracing (MIT). Sources are listed in llms.txt.