BanditoBandito
Back to docs

Observing Traces

See what's happening in your LLM application — cost, latency, patterns, and quality signals.

See what's happening in your LLM application. Works on local traces — no account required for trace data.

List projects

bandito observe projects

Shows every project with trace counts and total cost. A "project" is the name you pass to bandito.trace("my-chatbot", ...).

Quick stats and patterns

bandito observe basics --project my-chatbot
bandito observe basics --project my-chatbot --last 50
bandito observe basics --project my-chatbot --tag prod

Deterministic analysis — no LLM calls. Shows:

  • Trace/span counts with 7-day sparkline
  • Cost breakdown — total, average, per-model
  • Latency breakdown — average, p95, by span type
  • Pattern detection — duplicate tool calls, cost concentration, error clusters, context size variance, model diversity

Use --last N to limit to the most recent N traces. Use --tag to filter by environment or label.

List traces

bandito observe traces --project my-chatbot
bandito observe traces --project my-chatbot --tag prod

Shows the 10 most recent traces with cost, latency, span count, and grading status (if you have an API key).

Inspect a trace

bandito observe trace <trace-id>

Full detail for one trace: input, output, span tree with timing and cost, evaluation data.

What this tells you

Observe answers "what's happening?" without any setup beyond tracing:

  • Where you're spending money (cost hotspots)
  • What's slow (latency bottlenecks)
  • What's breaking (error patterns)
  • Whether you're over-stuffing context

What's next

See Grading to turn "what's happening" into "what's good and what's bad."