Everything in Respan starts with a span. A span is a single recorded unit of work: an LLM call, a tool execution, an agent step, or any operation you want to track. Every span captures its input, output, model, latency, cost, token usage, and metadata.
Spans are the building blocks for three views of your data:
All three views read from the same underlying span data. The difference is how they organize it.
For evaluation concepts (scores, evaluators, experiments), see Evals Concepts.
A span is a single recorded operation. When you send an LLM request through Respan, whether via the gateway, the API, or a tracing SDK, Respan creates a span.
Every span uses a universal input / output design. The system automatically serializes your data regardless of format, extracts type-specific fields (tool calls, thinking blocks, etc.), calculates metrics when possible, and associates the span with traces, threads, and customers based on the identifiers you provide.
Every span has a log_type that determines its input/output format. The most common is chat (messages in, assistant message out), but Respan also supports embedding, speech, transcription, workflow, agent, and more. See Log types for the full list.
For the complete field reference, see Span fields & parameters.
A trace is a group of spans that belong to the same workflow. Spans within a trace form a tree using parent-child relationships, so you can see exactly how a request flowed through your agents, tasks, and tools.
trace_unique_id: groups all spans in the same workflowspan_unique_id: individual span identifierspan_parent_id: creates the parent-child hierarchyspan_name: descriptive name for the operationspan_workflow_name: the nearest workflow this span belongs toComplex workflows can span multiple traces using trace_group_identifier:
A thread is a group of spans organized as a conversation. Unlike traces (which show a tree of how work was executed), threads show a linear sequence of messages ordered by time. This is the natural view for chat applications and dialogue systems.
thread_identifier: groups spans into the same conversationThreads and traces can overlap. A single span can belong to both a trace (showing where it fits in the workflow) and a thread (showing where it fits in the conversation).