Instrumentation is the code that records what an agent does while it runs and emits that record as telemetry. For agents, the standard is OpenTelemetry with the GenAI semantic conventions. A framework that already emits OTel spans exports them over OTLP, via HTTP or gRPC, to any endpoint that accepts the protocol. Other dialects, such as OpenInference and Traceloop, describe the same events with different attribute names.
Agent telemetry has a three-level structure that follows the shape of agent execution. A session groups everything that happened across one conversation. A trace covers one turn: a user message, the agent's full response, and everything between. A span covers one step within the turn, an LLM call or a tool call. Spans nest within traces, and traces group into sessions.
Instrumentation is also the point where content leaves the application. It decides what gets emitted: which prompts, outputs, and tool arguments appear in the record, and in what form. The telemetry downstream is whatever instrumentation chose to emit, so content decisions, including redaction, happen here.
10 questions
Answered, plainly.
Two ways to run Tessary.
Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.
Tessary Cloud
We host it for you. Send your first trace with nothing to deploy and no model key.
- traces
- 10,000 per calendar month
- stored trace data
- 1 GB
- retention
- 30 days
- model credit
- $10, one-time, for triage and root-cause analysis
- credit card
- not required
Self-hosted Tessary
Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.
Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md
docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y