> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coval.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Traces

> Send your agent's traces to Coval to evaluate what it did, not just what it said.

A **trace** records what your agent did during a call — tool calls, LLM invocations, retrieval, and other internal steps, each captured as a span with timing and attributes. Sending traces to Coval lets you evaluate behavior that isn't visible in the transcript: whether the right tools were called in the right order, where latency comes from, and where conversations fail.

Tracing works for both **simulations** (Coval calls your agent) and **live conversations** (you submit call data afterward). The instrumentation is the same; only how you identify the call differs.

## Choose a setup path

There are four ways to get traces into Coval. Pick the one that fits your stack.

<CardGroup cols={2}>
  <Card title="Wizard" icon="wand-magic-sparkles" href="/concepts/simulations/traces/wizard">
    One command (`npx @coval/wizard`) auto-instruments a Pipecat, LiveKit, or Vapi agent. The quickest path on a supported framework.
  </Card>

  <Card title="Tracing Skills" icon="robot" href="/concepts/simulations/traces/tracing-skills">
    Give your AI coding agent a reviewable, prompt-driven workflow to add tracing and validate one real trace. Good for custom agents.
  </Card>

  <Card title="OpenTelemetry SDK" icon="code" href="/concepts/simulations/traces/opentelemetry">
    Instrument your agent by hand with the OpenTelemetry SDK. Full control, any language or framework.
  </Card>

  <Card title="Import from a platform" icon="arrow-down-to-line" href="/concepts/simulations/traces/imports">
    Already tracing with Langfuse, Arize Phoenix, or LangSmith? Connect it once and Coval imports traces automatically — no re-instrumentation.
  </Card>
</CardGroup>

| If you…                                                              | Use                                                             |
| -------------------------------------------------------------------- | --------------------------------------------------------------- |
| run a Pipecat / LiveKit / Vapi agent and want the quickest setup     | [Wizard](/concepts/simulations/traces/wizard)                   |
| have a custom agent and want a reviewable, AI-assisted setup         | [Tracing Skills](/concepts/simulations/traces/tracing-skills)   |
| want full manual control, or use a language the wizard doesn't cover | [OpenTelemetry SDK](/concepts/simulations/traces/opentelemetry) |
| already send traces to Langfuse, Arize Phoenix, or LangSmith         | [Import from a platform](/concepts/simulations/traces/imports)  |

## After traces are flowing

Once Coval is receiving spans:

* [View traces](/concepts/simulations/traces/viewing) — inspect a single call's spans in the waterfall and flame-graph viewer, and use Transition Hotspots to see where runs fail across a whole run.
* [Trace Search](/concepts/conversations/trace-search) — search across every traced call with structured filters or natural language.
* [Trace metrics](/concepts/metrics/types/trace) — turn span data into metrics for latency, tool-call counts, token usage, or any custom value.
