Production

Observability

Every request lands in ClickHouse with model, provider, tokens, latency, cost, and a bag of attribution tags. You see it in the dashboard, query it programmatically, or forward to your own OTLP / Datadog destination.

The dashboard tour

PageUse it for
Dashboard7-day org summary tiles + top members + 5 most recent inferences.
UsageDate-range + group-by aggregates AND a per-key time-series chart (see below).
LogsRecent inferences table. Click any row for the full record.
ObservabilityConfigure an OTLP destination — Datadog, Honeycomb, your own collector.
AuditAdmin-action log: who minted/revoked keys, who changed routes, when.

Per-key time-series

On the Usage page, top section: one line per API key, USD spend on the Y-axis. Look for any single line spiking above the others — that's usually a runaway script or misconfigured client. The legend ranks keys by total spend in the selected range.

This is the screen that catches the "agent burned 10 days of API before we noticed" failure mode. Worth a daily scroll-by even on a healthy account.

Searchable activity log

Logs page columns:

ColumnSource
WhenInference timestamp.
ModelThe resolved upstream model.
Providerthe upstream provider that served the request
ByOwner email of the API key.
AppX-Title → Referer hostname → User-Agent prefix. See App attribution.
In/OutToken counts.
LatencyEnd-to-end ms.

Programmatic access

GET /orgs/<slug>/usage?from=2026-06-01T00:00:00Z&to=2026-06-15T23:59:59Z&group_by=member
GET /orgs/<slug>/usage/timeseries?from=…&to=…&interval=hour|day
GET /orgs/<slug>/inferences?limit=200
GET /orgs/<slug>/audit-log?limit=100

All return JSON. Authenticate with the dashboard session cookie (browser) or a session token (server-side scripts).

OTLP / Datadog forwarding

On the Observability page, register an OTLP gRPC or HTTP destination — we mirror every inference span to it. Standard service.name + peer.service attributes; works with Datadog, Honeycomb, Grafana Tempo, and any conformant collector.