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.

Introduction

Imagine you’re building a simple LLM-powered customer service chat application. In testing it, you might want to see how a single multi-turn conversation flows from user prompt to tool calling to model response. Sessions solve this problem by bundling low-level events into a cohesive unit, so you can trace an entire LLM interaction from start to finish.

Core Concepts

Let’s take a look at the building blocks of a session.

Span → Trace → Session

  • 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 experiment, 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.

How do Sessions differ from Log Streams?

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.

You can use Sessions to segment a log stream into coherent experiments or runs, making it easier to analyze end-to-end behavior.

How do Sessions differ from Workflows?

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 experiment or evaluation.

Where can I find my sessions?

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).

You can view them in a few easy steps:

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.

Conclusion

A Session can collect multiple workflow runs and traces into one cohesive view. By using Sessions in your LLM application, you can:

  1. Organize logs and metrics for each customer interaction or batch evaluation run, so debugging and analysis become straightforward.
  2. Drill down into any step—inspect the span for tokenization latency or the trace for scoring logic—without losing context.
  3. Easily compare multiple chat sessions to track performance improvements.

Next Steps

Learn how to create and use sessions in Galileo.

  • Using Sessions - Create and view sessions in Galileo
  • Log Stream - Learn about Log Streams in Galileo.
  • Spans - Learn about the building blocks of Traces in Galileo.
  • Traces - Learn about Traces, and different ways to create them.