axonpush
Dashboard

Observe

Read one request end to end as a trace, search the logs and events underneath it, and aggregate many traces into volume, error rate, latency, tokens and cost.

The Observe pillar is where you read what happened: traces, logs and analytics, all views over the one events table.

Traces

A trace is one request seen whole: the agent run, every LLM call, tool call, retrieval and HTTP hop underneath it, joined by a trace ID. The trace view is a waterfall, with an errored span called out so you can see where a request broke rather than where it ended, and an inspector for the selected span’s attributes and payload (subject to your content policy).

Filter the list by service, model, agent, status, duration and more. The endpoints behind it are GET /traces and GET /traces/{traceId}.

Logs and events

Every app.log, agent.log and custom event lands on the same timeline as the spans. Free-text search across events spans the whole organisation with GET /events, so a log line and the trace it belongs to are one click apart.

Analytics

Analytics aggregates the trace stream into the numbers you watch: volume, success rate, p95 latency, tokens and attributed cost, each with a trend over the window, plus a status mix and the models in production. The filter bar scopes every tile at once, and the same filters exist on Traces, so a number and the requests behind it always agree. The endpoints are GET /analytics/timeseries, GET /analytics/breakdown and GET /analytics/latency.

To slice by your own business attributes — not just model or status — see Usage & dashboards and custom dimensions.