Tracing overview

Tracing is how your application sends trace and span data to Observe so you can see execution flow, latency, cost, and run evals and alerts.

What it is

Tracing is the mechanism that brings your application’s execution data into the platform.

  • Your app emits spans (LLM calls, tool calls, chain steps) via OpenTelemetry (OTLP) or an SDK; the backend receives them over HTTP or gRPC, converts them to traces and observation spans, and stores them by project.
  • Each trace is one request or execution; each span is one operation (LLM, tool, retriever, etc.) with input, output, timing, and optional cost and tokens.
  • That data powers the UI—trace list, span detail, sessions, evals, and alerts all run on top of traced data.
  • The platform uses this pipeline in two ways:
    • Prototype — Test and compare LLM configurations before production; promote a winner.
    • Observe — Monitor production with traces, evals, and alerts.

Without tracing, there is nothing to observe.

Purpose

  • Execution visibility — See the full path of a request (spans in order, parent/child) so you can understand what the app did and where time or cost went.
  • Per-span metrics — Latency, token usage, and cost are attached to spans so you can spot slow or expensive operations.
  • Debugging — Tie a failure or bad output to a specific span and trace so you can reproduce and fix.
  • Evals and alertsEvaluations and alerts run on observation spans; tracing is what fills those spans.
  • Sessions and users — When spans carry session.id or user.id, traces are grouped into sessions and end users in the UI.

Getting started

Was this page helpful?

Questions & Discussion