Skip to main content
Tracing records the inside of a call. Each turn becomes a span, so you can see what the caller said, what the model did with it, which tools ran, and how long each step took. Turn it on with one block in agent.yaml:
There are two providers. Pick one. provider takes a single value.

Tracing fields

string
required
Accepts langfuse or coval. Required inside tracing; no provider is inferred. Omit the whole tracing block to disable tracing. Supported on LiveKit and Pipecat; refused on SLNG.

What works where

Tracing needs a process to instrument, so it works on the two code targets and not on the hosted one. A hosted target instruments no process of yours: read its calls in the SLNG dashboard instead.

Secrets

You do not have to list tracing keys under secrets: yourself. The compiler adds the ones your chosen provider needs, and unmute compile prints them in the required environment list. See secrets. Leaving a tracing key out of secrets: does not stop it being required. Both unmute validate and unmute compile warn on it every time. unmute compile prints:

Before you send real calls through it

A trace can contain caller speech, model input and output, and tool arguments and results. That is the point of it, and it is also the risk. Use fake identities and fake customer data for release tests. Keep those tests in a separate project on whichever provider you chose, and do not send real customer data until that project’s access and retention rules are approved.

Where to go next

Coval

Attach spans to the simulation that produced the call.

Langfuse

Watch a live call and debug one conversation at a time.