Tracing

A step-by-step timeline of every request, from the app's code to each query and call out.

Built on OpenTelemetry and PostgreSQL

Plans: Every plan, including the free app

What you get

  • A step timeline for every request: the app's own code, each database query, each call out
  • Open it from any log line or error
  • Slowest requests first, filtered by page or time
  • Secret values hidden, as in logs
  • Kept 7 days, on every plan

How it works

Every app is given an OpenTelemetry address and key, and the app templates already send traces to it. Whisk gives each request an id when it arrives and the trace carries the same id, so a log line or an error links straight to its timeline.

Traces are stored by Whisk itself. Nothing to sign up for and nothing to set up.

Example

A wholesaler's order page takes eight seconds on Monday mornings. The trace shows that six of those seconds go on a single stock query, so their coding agent adds an index and the page is back under a second.

For your coding agent

Start any OpenTelemetry SDK when OTEL_EXPORTER_OTLP_TRACES_ENDPOINT is set; it reads the rest of its settings from the environment. Find slow requests with whisk traces --slowest and open one with whisk traces show <request id>.

All features