# What's the difference between a trace and a span?

A trace is the whole turn; a span is one step inside it. A trace covers everything between a user's message and the agent's full response: every LLM call, every tool call, every step it took to get there. A span is a single one of those steps, one LLM call or one tool call, with its own start time, end time, and payload.

The relationship is containment, not overlap. A session holds every trace from one conversation, a trace holds every span from one turn, and a span never spans more than one turn. That nesting is what lets a finding point at exactly where things went wrong: "the third tool call in this turn returned bad data" is a span-level fact, "this turn answered the wrong question" is a trace-level one, and neither substitutes for the other.

[What a Tessary trace actually stores](/answers/tessary-traces/what-is-a-trace) follows the same shape: one trace per turn, keyed to your own ids, with the spans nested inside it as the evidence behind every classifier finding.

---

Sources:
- OpenTelemetry GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/ (fetched 2026-09-16)

Source: https://tessary.ai/answers/instrumentation/whats-the-difference-between-a-trace-and-a-span
More on Instrumentation: https://tessary.ai/answers/instrumentation
From Tessary, agent reliability for AI agents in production: https://tessary.ai
