Feature · Traces

The agent trace, end to end.

One root span per agent run. Every LLM call, tool call, sub-agent spawn, retry, and outcome is a child span. Schema-validated, OpenTelemetry-canonical, replayable.

From blind to seeing

Your agent stops being a black box.

Most teams ship agents and find out what happened by reading the response. Trefur turns the agent into a live map — every node is a decision, a tool call, or a retry, and the trace pulse shows you exactly which path the run took, in what order, and at what cost. This is a real agent flow, simulated below.

trace · refund-bot · livestreaming
usersupport requestllmclassify_intenttoolcrm.lookup_ordertoolcrm.refund (409)retrycrm.refund (200)llmcompose_replyresponserefund issued
Live run
elapsed0ms
tokens0
cost$0.0000
steps1/7
Status
waiting…
What you were getting
A response, sometimes a log line. No view of which tool the model picked, why, or what went wrong.
What Trefur gives you
Every decision, every tool call, every retry — as a connected map you can replay, filter, and share.
What changes
Debugging stops being archaeology. The agent is legible to engineers, SRE, ops, and finance — all from the same trace.

How it works.

Drop in the Trefur SDK, or run the trefur collector on your network, or simply add Trefur as a second OpenTelemetry exporter alongside whatever you already run. The data path is unchanged; Trefur reads the GenAI semantic conventions that your runtime already emits.

Every agent run becomes a single trace. The framework you use decides the shape of the tree. LangChain emits one root and chain steps as children. CrewAI emits crew, task, and hand-off spans. Pydantic AI emits typed function-call spans. MCP emits server, client, tool-call, and resource-fetch spans. Custom orchestrators that emit OTel GenAI spans show up the same way.

Traces are searchable by trace ID, by agent name, by customer interaction, by error class, by time window. The trace view shows the tree on the left and span details on the right — inputs, outputs, tokens, latency, cost, and any errors.

What you can do with it.

Search by trace ID, agent name, customer interaction, time window, error class.
Drill from a failing run to the exact step, exact prompt, exact tool response.
See decisions agents made — which tool, why, what context the LLM saw at that moment.
Reconstruct retries and back-off windows as separate spans, not lost log lines.
Compare two builds side-by-side on the same input set, surface the spans that diverge.
Tag traces with environment, build SHA, and customer ID. Filter on any of them.

A trace, in your terminal.

trace · refund-bot · 4.2s · $0.018
$ agent.run [root] 4200ms
$ llm classify_intent tokens 240 310ms
$ tool lookup_order(#A-42) 200 OK 180ms
$ llm decide_refund_action tokens 410 420ms
$ tool process_refund(#A-42) 409 conflict 190ms
$ retry tool process_refund 200 OK 720ms
$ llm draft_response tokens 312 380ms
$ return 'Your refund is on its way.'

Works with.

LangChain
CrewAI
AutoGen
Pydantic AI
MCP
OpenAI
Anthropic
Bedrock
Azure OpenAI
Gemini

Get your first agent trace.

Free tier. No card required. First trace in under five minutes.