Skip to content

Traces & analysis

Inspect execution spans from the TUI and review deployed-agent traffic on the web — traces, session triage, SQL, and notebook-style aggregates.

Analysis answers “what happened?” — the live conversation shows the answer the agent gave; traces and analytics show what the agent actually did to get there. You have two inspection surfaces: the TUI trace browser for the session in front of you, and the web analysis tree for workspace-wide patterns.

Press Ctrl+T (or run /traces) to open the trace browser. It shows the execution spans for the current project — every tool call, every model call, every nested task span — as a filterable list. Open a trace to see its span tree, tool arguments, and results.

Reach for /traces when the question turns from “what did the agent say?” into “what exactly executed?” It’s the span-level view of the same work the conversation is showing you.

For the rawest view, /spans opens the local JSONL file that backs the active session. One row per exported span, pretty-printed JSON for the selected line, and optional follow-mode while the session is still producing spans.

SurfaceOpens withScope
Session browserCtrl+BConversations for this runtime
Trace browserCtrl+T / /tracesExecution spans for the current project
Raw spans viewer/spansLocal JSONL file for the active session

See Managing sessions for the session browser half.

A running TUI is for driving one agent. The web UI is for reading what all of them have done. Under /{org}/analysis/ the platform gives you four views over deployed-agent traffic — session triage, traffic charts, SQL, and notebook — sharing the same workspace and project filter so you can move between them without losing scope.

/{org}/analysis/
├── agents ← triage deployed sessions and read their transcripts
├── charts ← traffic summaries and session filtering
├── data ← ad-hoc SQL against otel_traces and friends
└── notebook ← aggregated runs, evaluations, and stats

Open the route family from anywhere in the app. The project selector sits above the subtab bar; the workspace is carried in the URL (?workspace=prod&project=auth) so links and reloads keep the slice intact.

The Agents tab is the landing page for deployed-agent operations. Left column is a paginated list of sessions (25 per page); right column is the detail pane for the session you select.

The detail pane has two views:

  • Reports — every report tool call the agent made, in order. Click one to render its markdown in the right pane (toggle to source view with the overlay). Useful for report-driven agents where the report is the product.
  • Transcript — the full message history, tool calls inlined, rendered the same way the TUI does.

The list polls every 15 seconds so active sessions bubble up without a reload.

Use this tab when a question starts with “what happened in session X?” For a broader cross-session pattern, move to Charts.

The Charts tab summarizes recent traffic for the current project as a configurable bar chart plus the session table that fed it.

Controls:

ControlOptions
Group byAgent, Session ID, Model
MetricSessions, Live Sessions, Messages, Report Calls
StatusAll, Live, Idle
SearchFree-text over session ID, title, agent, model

The top twelve series render in the chart; the filtered session table beneath it is the row-level version of the same slice.

Charts are derived from the same recent-sessions feed as the Agents tab — it’s a shape question over what’s already loaded, not a background warehouse job.

The Data tab is a SQL editor. Default query reads from otel_traces:

SELECT SpanName, Duration, StatusCode
FROM otel_traces
ORDER BY Timestamp DESC
LIMIT 100

⌘+Enter runs the query; selecting a subset of text runs only the selection, which is how you iterate on a clause without losing the rest of the query. The schema panel on the side lists the columns of otel_traces — click a column name to append it to the query.

Results render in a sortable grid. Export CSV writes the current result set to query-results.csv.

Reach for Data when:

  • you know the exact shape of the answer (a specific table, specific filter, specific columns)
  • the question spans more history than the recent-sessions feed covers
  • you need structured rows to export or paste into another tool

The Notebook tab assembles a multi-source view: runs, evaluations, workspace stats, model stats, and tool stats for the same project. It’s the right surface when the question combines resources:

  • Which tools does this agent reach for most, and how does that correlate with failures?
  • How do models compare across the last week of evaluations?
  • Which runs are expensive relative to the value they produced?

Notebook is read-only and derived — it composes existing data rather than writing new resources. Use it to shape a question before you drop into Data for the exact rows.

If the question is…Start on
”What happened in this one session?”Agents
”Is this session waiting on me?”Agents
”What does traffic look like this week?”Charts
”Which agent/model is running the most?”Charts
”I know exactly what I want — give me rows.”Data
”How do runs, evals, and model usage line up together?”Notebook

Getting to analysis from a running session

Section titled “Getting to analysis from a running session”

The usual path is TUI first, web second:

  1. Reopen the relevant session with Ctrl+B when the question starts from a specific conversation.
  2. Drop into /traces (Ctrl+T) for span-level execution detail on that session.
  3. Open the web analysis tree when the question broadens from “what did this one agent do?” to “what pattern is this part of?”

See Managing sessions for the session browser and Projects for how the project filter narrows what you see here.