Observability

Per-request trace IDs, cost / latency / token analytics, webhooks, and CSV exports. Designed so you can correlate EdgeRoute logs with your own observability stack.

Trace IDs

Every chat completion gets a UUID v4 trace ID, surfaced in the response header:

X-EdgeRoute-Trace-Id: 9f2c4e1d-…

The same UUID is used as the request_logs.id primary key, so you can cross-reference a customer-reported error to the gateway log row in one query.

Response headers

The proxy sets a handful of headers worth alerting on:

  • X-EdgeRoute-Provider / X-EdgeRoute-Model — which upstream actually served the request.
  • X-EdgeRoute-Auto-Reason — human-readable explanation when model: "auto" was used (e.g. "Detected coding task → anthropic/claude-sonnet-4-6").
  • X-EdgeRoute-Cache — HIT or MISS for the content-hash cache.

Dashboard

The Analytics page shows tokens, cost, latency, and request volume over rolling windows, broken down by provider and model. Use Logs to inspect individual requests by trace ID.

Webhooks

Two events fire today, signed via HMAC-SHA256 if a secret is set:

  • request.completed — fires after every successful request with provider, model, tokens, cost, latency.
  • budget.exceeded — fires when an API key crosses its monthly budget.
  • credits.exhausted — fires when a platform-key debit can't be satisfied.

CSV exports

The dashboard's Export Stats button hits /api/export/stats?format=csv&days=N and streams a CSV of the rolling window. Useful for ad-hoc analysis in a spreadsheet.