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."