A Session is a collection of Traces, Events, and Spans emitted by your Application. They group all Traces for one conversation or evaluation run, giving you a bird’s-eye view of that LLM workflow.
Imagine you’re building an LLM-powered customer service chat application. During development or in production, you will want to see how a multi-turn conversation flows from user prompt, to tool calling, to model response. Sessions solve this problem by bundling Log stream traces into a cohesive unit, so you can observe and evaluate an entire agent interaction from start to finish.
Span: The smallest logging unit the system, typically representing a single operation, function call, or request. Each user message, model API call, or model tool usage generates a Span.
Trace: When multiple spans occur as part of a single logical operation (e.g. a request that triggers several downstream calls) they form a Trace. Traces allow you to see parent/child relationships among spans.
Session: A collection of one or more traces that together represent an entire interaction, or multi-step evaluation. A Session bundles related traces so that you can analyze an entire workflow end to end, even if it spans multiple services, threads, or agents.
A Log Stream is a continuous sequence of log entries emitted over time. Log Streams simply capture everything in chronological order, and can contain a mix of spans, traces, and sessions.On the other hand, a Session is a way to group Traces that are logically connected. And with Galileo, every Session is stored in a Log Stream that you can specify either explicitly or using environment variables.
A Workflow is a defined sequence of steps or tasks. It may include branching logic, conditional steps, and dependencies.A Session can contain one or more Workflows if they are part of the same overall evaluation.
Sessions can be viewed in the Galileo Console. When you create a session, you will usually select a Log Stream where they will be found. (If you don’t specify one, Galileo will use your default Log stream).
1
Log in to the Galileo Console and select your Log Stream
Head over to the Galileo Console and log in.On your dashboard, select the Log Stream where you were sending your session logs. If you didn’t specify a unique or new Log stream name, you will find the logs in your default Log Stream.
2
Select your session
Selecting the Log stream will bring you to its event records. All logs will be grouped by Session, though you can use the control near the top-left of your screen to change the Log stream’s event grouping:
Your session should be visible in the table below the controls, especially if you gave it a recognizable name. Select it to view the traces.
3
View your session
Once you select your session, you can see the Traces you captured from your test run as a flowchart. Any tools that were used will also show up as individual Spans.Select the nodes of the flowchart to see their inputs and outputs on the right-edge of your screen.
4
Optional: View individual Spans
Each message from the user and response from the LLM will form a single trace; you can view the contents here in a familiar format, as well as other details like tool calls. Just select the Messages tab (shown in the image below) to see a list of traces in the session, along with their child spans. You can select a span to see metrics and other details on the right edge of the screen (not pictured)
You can learn more about creating and using sessions here.