sessionId — the lifetime of one IDE launch or one autonomous bot run.
How sessions differ from traces
A session contains many traces. A trace contains many events.
Session lifecycle
- Claude Code: opens a fresh
session_idwhen you launch the editor or start a new chat. Every hook event during that run carries it. - Library mode (autonomous bots): you control the session ID. Pass
metadata.sessionIdexplicitly on eachvoight.log()call, or let the SDK group events by other means.
Sessions grouped by day
If you launch Claude Code multiple times in the same day with the same project, each launch becomes its own session row. The dashboard’s/dashboard/sessions page groups these by (agentId, dayKey):
- One card per agent per day
- Badge
+N moreif there were multiple launches - Click to drill into the individual sessions
Session detail page
/dashboard/sessions/<id> shows:
- Header: agent, start/end time, total duration, total events, errors, tx count
- Timeline of all traces in the session
- Inspector panel with aggregated KPIs (tokens, cost, p50/p95 latency)
- Per-trace breakdown
Session status
A session is one of:Filtering
Available filters on/dashboard/sessions:
- Time window: 24h / 7d / 30d / all
- Agent: any agent in your account
- Status: active / idle / done / errored
API
/me/sessions reference for full schema.