A trace is one unit in Tessary: the stored record of one agent turn. Traces live in Tessary's substrate, the agent-native store every other part of the product reads from. The substrate has three fixed levels: the session, the trace (one turn), and the span (one step, an LLM call or a tool call). The levels match how agents actually run: a user session holds turns, and each turn holds the steps the agent took to produce its answer.
Each level is keyed on your own ids, and a span carries the actual content of its step: the payloads, tool calls, retrieved documents, and media. Spans can also carry tessary.call_site.id, a plain span attribute that needs no SDK. It's what findings, baselines, and regressions bind to.
To send traces, point the OpenTelemetry exporter your agent already uses at Tessary over OTLP, or use the SDK push source if your stack doesn't have one. PII redaction runs on the write path, before anything is stored. Classifiers, cases, and root cause analysis all read this same stored record, so every conclusion cites evidence you can open.
9 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