Observability

What telemetry Agent Stream produces for every call, what the dashboard shows, and how to export traces, metrics, and logs to your own stack.

Agent Stream is the source of truth for AI usage in your organisation, with no external time-series database required to see it, and it still exports to the tools you already run. Trust-fabric integration →

What gets recorded

SignalWhat it shows
Usage telemetryMulti-resolution spend, token, and request time-series, from 30-second to yearly buckets, per surface, stage, member, and team.
Operational metricsConnection volume, error rate, data throughput, and latency percentiles, at p50, p95, and p99, for fleet health.
Rejection taxonomyEvery guardrail block classified into a stable set of categories, such as hate, toxicity, prompt injection, jailbreak, PII, secrets, and policy violation, broken down per team, member, surface, and stage.

What the dashboard shows

A real-time management dashboard shows cost, tokens, latency, and throughput, with per-surface breakdowns, and each surface has its own monitoring tab scoped to that surface alone. This is the fastest way to confirm traffic is flowing normally, spot which surface is driving cost, or see a rejection spike as it happens.

The fleet-wide management dashboard, showing active surfaces, latency, total tokens, total cost, and cache metrics alongside cost, token, and traffic charts broken out by surface

What comes back in response headers

A buffered response carries x-agent-stream-* headers: trace ID, provider, model, tokens, cached-tokens, cost, cache hit or miss, and ingress skin. A client can read cost and usage figures directly from the response headers without parsing the body. A streamed response carries the request-time subset of the same headers.

A captured API response showing the x-agent-stream-* headers: trace ID, provider, model, input, output, and total tokens, cost, and a cache hit with the cost it saved

Exporting to your own stack

Nothing here is locked to Agent Stream’s own dashboard. Traces, metrics, and logs export through:

  • a native Langfuse connector, with optional request and response capture.
  • OpenTelemetry OTLP export of traces, metrics, and logs, to Datadog, Grafana, Jaeger, or any OTLP-compatible collector.
  • a Prometheus scrape endpoint.
  • a content-capturing webhook.

Content capture, the request and response bodies themselves rather than metadata, is opt-in per surface through explicit log flags, so enabling observability does not automatically mean every prompt and response is stored or exported.

Every request
Traces, metrics, logs
Langfuse · OpenTelemetry · Prometheus · Webhook

Why this matters

Every telemetry signal carries the same identity context the rest of the platform uses: surface, variant, member, and team. A latency spike or a policy denial can be attributed to a specific surface or caller rather than appearing as an undifferentiated failure, and the same figures that drive the in-appliance dashboard are the ones available for export into an existing observability stack.