Sessions
A project's Sessions page: every session its agents took part in within the window, with its user, traces, errors, steps and tokens, and each session opened beside the list or on a page of its own — its runs replayed in metadata, never a message, in a layout you customize and keep.
A session is the runs that share the session id the application gave
them: a chat, a thread, a support ticket worked over several runs — what
OpenTelemetry calls gen_ai.conversation.id. A project's Sessions page
lists every one seen in the window with the user it was with and what its
runs added up to, and each opens beside the list, its runs replayed in order,
or on a page of its own. Everything on both is metadata — which agent ran, how it ended, its
steps and tokens — and nothing on either is a message, in any
content mode. A session here
is not a sign-in: those are listed under
Account › Privacy.
Naming the session
Name the session when you open a run — session_id in the
SDKs (sessionId in TypeScript, SessionID in Go),
gen_ai.conversation.id on the span — and every span
inside the run carries it. A run that names no session belongs to none; a
project whose runs name none sees the page say so, with the attribute to set.
The list
| Column | What it is |
|---|---|
| Session | The session id, as the application set it; opens the session beside the list |
| User | The end user it was with, as stored: hashed under the project's own key; opens their traces |
| Traces | How many runs the session had in the window |
| Errors | How many of those had a span that failed |
| Steps | The steps those runs took, summed |
| Tokens | Their model calls' input and output tokens, summed; hover for the split |
| First seen | When the session's first run in the window started, in your time zone |
| Last seen | When its last run in the window ended |
Sort by any column by clicking its heading; the session last heard from comes first. A second click turns the sort round. Ids and first seen sort the alphabet's and the calendar's way; the most and the latest come first on the others.
The window is the last day, week, 30 or 90 days, by the day each span arrived. The page reads the spans within it — never the whole table — so a session whose runs have all passed their retention is no longer listed. Up to 100 sessions are shown, and the page says when the window holds more: show up to 500, or narrow the window.
The list draws itself again as the project's runs land, while it is in view: at once for the first, and once more for whatever arrives in the next 30 seconds. A session's own page, or one opened beside the list, is drawn again the same way, as the project's runs land.
The sort and the window are in the page's URL, so a link holds the view.
A session
Click a session's id and it opens beside the list, in the console's side
panel — as a trace opens over the trace list, and as New project opens — the
list still in reach behind it; Open the session's page in the panel's
header, or a click that asks for a new tab, gives it a page of its own, with
the page's room. Both sum it — its id in full, its user, how many runs it had
and how many had a span that failed, their steps and tokens, when the first
started and the last ended — and list its runs in the order they started,
one row each, in a layout you customize, and each opening
its trace. Up to 100 runs are shown, from
the same window as the list: show up to 500 from the page, or narrow the
window. The panel's ↑ and ↓ buttons step through the list's sessions;
Escape, Close or Back shuts it, since the open session is in the page's URL
(?peek=), so a link holds it; Full size gives it the whole content area.
A session id is the application's own text, up to 200 characters, so the page's URL carries it encoded. A session none of the project's runs in the window belonged to — one whose runs have passed their retention, or another project's — says so, and leads back to the list.
Customize
Not every session is a chatbot's, and not every reader wants the same of one: a chatbot's reviewer reads a session as a conversation, an agent harness's builder as nested work. One set of options lays out a session — and a trace's page the same way — and Customize beside the title changes any of them, so a team's own cut is never a third thing to find.
The default is each trace's line alone, a turn of a conversation: when it started, the user, its status and the class of the error it ended on (never its message), its tokens and duration, and the models and tools it called by name, each a link to the trace list narrowed to it. Nothing opens, and nothing is read but the session itself; the trace's own page is a click on its id away. Its messages — the run's own input and output, never the prompts of the model calls inside it — join the line once a project keeps content, and its scores once traces are scored: both are on already.
Customized to its steps, or to its steps and the calls inside them, each trace shows them nested under what made them as the spans recorded it, each named by what it is — the step, the model, the tool, a subagent's agent — with whichever of the trace list's columns you pick on the row. The traces that failed can start open, or all of them; click a row, or its chevron, to open or shut any other. Open, a trace reads its spans then and there, so a session of hundreds of traces costs only the ones you open, and each span's bar can be drawn on the trace's own line of time.
Customize names the layout you began from — the default, or a saved layout — as changed, with Back to it a click away:
| Option | What it changes |
|---|---|
| How far a trace opens | The trace alone; its steps; or its steps and the calls inside them |
| Which start open | None; the traces that failed, and inside them the branches holding a failed span; or all — the first twenty of a session, the rest when opened. A trace of more than 400 spans opens with its branches shut whatever the layout says |
| Timeline | Each span's bar on the trace's own line of time |
| Columns | The trace list's columns a trace's row shows; the trace's id always shows |
| Pinned spans | Up to eight span names whose spans show under each trace even while it is shut — the intermediate step a reviewer checks — with their status and duration; read with the session itself |
| Calls shown | Only the spans of the kinds, statuses and names you pick, with the spans inside them; nothing picked shows them all |
| Messages, Scores | The run's own input and output as the turn's two messages, and the trace's scores beside it: kept with the layout now, shown once the project keeps content and once traces are scored |
Keys: j and k step through the session's traces, and o opens the
one you stand on, or shuts it, wherever the layout opens a trace at all —
once Customize opens its steps. After g, k is still API keys and o the
Overview. In the panel the keys are the runs' as well; the list's sessions
are stepped by the panel's ↑ and ↓ buttons.
Keeping a layout
Layouts keeps a customization under a name for everyone on the project, as the trace list's saved views are kept: Save as a new layout, then pick it from the menu to open the page as it was saved. A layout the page has moved off since is starred, and Save changes writes it over. Every member of the project applies its layouts; its Owners and Admins save, rename and delete them (Roles), and a project keeps up to 100 beside its views. Deleting a layout never changes what anyone else has customized: it only takes the name away.
A link holds a saved layout, ?view=, so a link you share opens as you saw
it. Without one, the page opens in the layout you last chose, kept in your
browser with your options, and with none the project's default.
The project opens in, under Layouts, is the default for everyone on the project who has not chosen one: the default layout until an Owner or Admin sets one of the saved layouts, and the default layout again once the layout it names is deleted. Only an Owner's or Admin's hand moves it; no layout is ever replaced or removed under anybody by a release.
Traces
A project's Traces page: every run of its agents as a row, newest first, narrowed by any of its values, sorted, paged, drawn over the window, saved as views and downloaded, and each run opened beside the list or on a page of its own, its spans as a tree beside the one you choose — all of it metadata.
Users
A project's Users page: every end user its agents served in the window, by the id the application tagged runs with, with their traces, errors, steps and tokens — each opening their traces.