Skip to main content
Navigate to Telemetry > Traces (/telemetry) to view all distributed traces from your AI applications with detailed span analysis and execution flow. You can also create custom trace widgets in your dashboards to monitor specific trace metrics, latency trends, and performance insights alongside other observability data.

Filtering

The Traces list supports filtering by Models, Providers, Max Cost, Span Names, Environments, and Services, plus a time range and result limit. You can also filter on custom attributes - Span Attributes, Resource Attributes, or any top-level trace Field. The trace table shows, per row: Span/Trace ID, Time, Span Name, Duration, Service Name, Application Name, Cost, Total Tokens, Model, Provider, and Vector Count. Clicking a row opens the trace detail view in a resizable side sheet, with a Full Screen button that opens the same view at /telemetry/traces/<id>.

Group traces

Use Group By on the Traces page to roll up large trace lists into meaningful groups before drilling into individual spans. Grouping works with the selected time range and any active filters, so you can narrow the dataset first and then compare trace segments. You can group traces by:
  • Model: Compare requests by gen_ai.request.model.
  • Provider: Compare requests by gen_ai.system.
  • Span Names: Group repeated operations or framework steps.
  • Application: Compare services using the service.name resource attribute.
For anything else, use Custom to group by any span attribute or resource attribute key present in your trace data - pick the attribute type (Span Attributes or Resource Attributes) and the key, separately from the four preset options above. Grouped rows show the number of spans in each group, total cost, token usage, and average duration. Click a group row to drill into the matching traces. The breadcrumb above the table shows the current grouping path and lets you return to all groups or remove grouping.
Grouping is best for finding high-volume models, expensive providers, slow span types, or application-level hotspots before opening an individual trace.
Grouping can be combined with the existing trace filters. For example, you can filter to a single environment, apply a maximum cost threshold, and then group by model to find which models dominate that filtered slice.

Trace detail view

Opening a trace splits the screen into two panels.

Left panel: five view modes

The left panel is the Span Hierarchy Explorer, with five tabs:
  • Tree: The classic nested span hierarchy, one row per span with its children indented underneath.
  • Chat: A conversational rendering of the trace - messages, tool calls, and thinking steps laid out like a chat transcript instead of a span tree. Traces from coding agents (Claude Code, Cursor, Codex, Windsurf) open on this view by default, since a conversational read is more useful than a span tree for those traces.
  • AI Analysis: Runs the AI Analysis panel scoped to the whole trace hierarchy.
  • Timeline: A waterfall view of every span plotted against elapsed time, useful for spotting sequential bottlenecks and overlapping work.
  • Graph: A DAG (directed acyclic graph) view of the trace’s call flow - nodes for spans, edges for parent/child call relationships.

Right panel: attributes, per-span analysis, and evaluations

The right panel shows raw data for the span currently selected in the left panel:
  • Span Attributes: every OTel attribute recorded on the selected span.
  • Resource Attributes: service- and environment-level resource attributes.
  • AI Analysis: a second, span-scoped AI Analysis tab - lets you analyze just the currently selected span instead of the whole trace.
  • Evaluations: shown only when evaluation scores exist for the trace, with per-check results.
Header stats above both panels show Status, Duration, total Tokens, Cost (with a recalculate button), and Model, plus meta pills for Trace ID, Span ID, Service, and Environment. Use the Prev / Next controls to step through the traces matching your current filters without going back to the list.

Exceptions

The Exceptions tab shows all traces that contain errors or exceptions from your AI applications. It uses the same trace list shell as Traces, but the table columns are Time, Span Name, Duration, Service Name, Deployment Type, and Exception Type, and you can filter by exception type in addition to time range.
Exceptions page listing traces with errors
All error traces are automatically captured and displayed here, including:
  • LLM API errors: Authentication, rate limits, model issues
  • Framework errors: LangChain, LlamaIndex execution failures
  • Vector database errors: Connection and query issues
  • Application errors: Custom exceptions and validation errors
Clicking an exception opens the same Tree / Chat / AI Analysis / Timeline / Graph trace detail view described above, so you get the full execution context - including the stack trace - around the error.
Trace detail view with exception information and stack trace

AI Analysis

Turn a trace or span into a structured review of performance, cost, and reliability

Metrics

Explore the metrics captured alongside your traces