Do agent traces have to use the OpenTelemetry GenAI attribute format?

No. OpenTelemetry’s GenAI semantic conventions, the gen_ai.* attributes, are the closest thing agent telemetry has to a standard, but two other dialects describe the same events under different names. OpenInference spells a model call llm.model_name and an agent step openinference.span.kind. Traceloop’s OpenLLMetry writes prompts and completions as indexed attributes, gen_ai.prompt.0.content and gen_ai.completion.0.content, which OpenTelemetry has since deprecated in its own conventions in favor of a structured gen_ai.input.messages. All of these are naming the identical thing, an LLM call or a tool call, just spelling its fields differently. What matters more than which dialect you emit is that whatever reads your traces knows how to normalize between them, because a mixed fleet, one framework on gen_ai.*, another on OpenInference, is common once an org runs more than one agent. Pick gen_ai.* if you’re instrumenting from scratch. It’s the one the other conventions are converging on.

sources

keep reading

More on this.

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.

what's includedper organization
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