Skip to main content
A trace is one interaction (a root span plus its child steps); a session is the conversation those interactions belong to - every trace sharing a session_id. Sessions catch the failure mode single-trace monitoring can’t see: every individual reply looks fine, but the conversation as a whole goes in circles, contradicts itself, or never resolves. Grouping is opt-in per call - pass any stable per-conversation id:
Traces sent without one get their own auto-generated session.

The Sessions view

Observe → Sessions lists each conversation with: Failed spans anywhere in the conversation surface as an error-count badge inside the Session cell. Opening a session shows every turn in order; each turn’s full span tree is one click away.
screenshot of the session detail dialog - a list of user/agent turns in order with per-turn latency, a Judge scores section showing two evaluator verdicts with ratings, and an 'Add to dataset' button in the header.

A session's detail view: turns in order, judge verdicts, and Add to dataset.

Conversation-level judging

Three kinds of scorer judge a session as a whole, all triggered automatically when the conversation goes quiet:
  • Session Baseline Judge - built-in: goal progression, consistency, non-repetition. Also runs on demand from the session’s detail view. Its rubric lives in an LLM judge scorer (tunable via Tune judge); pause it from the Scorers page’s row toggle.
  • Session-scoped judge scorers - your own criteria with scope="session", judged on idle and re-judged if the conversation resumes. See Multi-Turn Session Evaluation.
  • Session-scoped scorer groups - several scorers (judges, patterns, code) blended into one 0-10 verdict per conversation, on the same idle trigger, with must-pass gates.
A verdict below the evaluator’s alert threshold raises a signal in the normal triage queue. These are also callable from the SDK - run the coherence check on demand and read the session’s spans (e.g. to walk a reported drift span up to the turn it belongs to):

Where sessions come from

From finding to regression test

A failed conversation is a future regression test: Add to dataset in the session detail turns the whole conversation into a multi-turn golden dataset case - see Datasets from Production.