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:
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 alerts — Evaluations 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
Set up observability
Register an Observe project and add instrumentation so your app sends traces and spans to Future AGI.
Auto-instrumentation
Use framework-specific instrumentors (OpenAI, LangChain, etc.) to capture spans with minimal code.
Traces and spans
What a trace is and how it relates to spans and the execution flow.
OpenTelemetry (OTLP)
How Observe uses OTLP for trace ingestion and manual or custom instrumentation.
Was this page helpful?