OTEP: Agent Telemetry Semantic Conventions (ATSC)#4959
OTEP: Agent Telemetry Semantic Conventions (ATSC)#4959thegoo wants to merge 4 commits intoopen-telemetry:mainfrom
Conversation
|
|
||
| ## Motivation | ||
|
|
||
| AI agent systems present observability requirements that general-purpose distributed tracing specifications do not address. The OpenTelemetry base specification defines spans, traces, metrics, and logs. The OTel GenAI Semantic Conventions define attributes for LLM calls. Neither covers what happens at the agent level. |
There was a problem hiding this comment.
The OTel GenAI Semantic Conventions
Maybe link to https://github.com/open-telemetry/semantic-conventions/tree/main/model/gen-ai or the published version?
|
|
||
| AI agent systems present observability requirements that general-purpose distributed tracing specifications do not address. The OpenTelemetry base specification defines spans, traces, metrics, and logs. The OTel GenAI Semantic Conventions define attributes for LLM calls. Neither covers what happens at the agent level. | ||
|
|
||
| Current gaps include: |
There was a problem hiding this comment.
Are these gaps something that the OTel GenAI semantic convention group wants to cover in the future, or folks decided that these are out of scope?
|
|
||
| Without a shared standard, every observability platform (Langfuse, LangSmith, Arize Phoenix) defines its own schema. Every agent framework (LangGraph, Microsoft Agent Framework, AutoGen, Semantic Kernel) emits incompatible telemetry shapes. Enterprises running multiple frameworks and multiple observability backends are forced to maintain bespoke translation layers. | ||
|
|
||
| This proposal defines Agent Telemetry Semantic Conventions (ATSC) — a vendor-neutral semantic layer that sits above OTel GenAI Semantic Conventions in the same way that GenAI SemConv sits above the OTel base specification. |
There was a problem hiding this comment.
I think we normally call such thing "Semantic Conventions for Xyz" rather than "Xyz Telemetry Semantic Conventions". Take database for example, we call it https://github.com/open-telemetry/semantic-conventions/tree/main/docs/db#semantic-conventions-for-database-calls-and-systems
| | `human.override` | INTERNAL | Human modified or overrode agent output. | | ||
| | `guardrail.check` | INTERNAL | A guardrail evaluated as a discrete operation. | | ||
| | `evaluation.run` | INTERNAL | An evaluation or scoring operation. | | ||
| | `infra.cache` | CLIENT | A cache read or write operation. | |
There was a problem hiding this comment.
Why is this CLIENT? What's the criteria when deciding what SpanKind should be used?
Do we follow https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#spankind or we need to update the SpanKind definition or provide some supplementary guideline?
reyang
left a comment
There was a problem hiding this comment.
I think we need to get a solid answer here #4959 (comment)
7fb7b7e to
5bf9b78
Compare
|
|
||
| Current gaps include: | ||
|
|
||
| - No standard representation for agent reasoning cycles, tool invocations, or multi-agent handoffs |
There was a problem hiding this comment.
gen_ai.operation.name is set to execute_tool for tool invocations.
|
Hey @trask! Thank you for taking the time to reply and map that out. Appreciate the feedback. I have some homework to do. I will review the existing GenAI SemConv and open PRs to get a lay of the land. Noted on KubeCon next week. Will plan to attend the following Tuesday. Thanks again. Talk soon. |
|
@thegoo thanks for the contribution! Please let us know if you find any gaps in the existing / proposed GenAI conventions. https://github.com/open-telemetry/semantic-conventions would be the right place to create any follow up issues or PRs. I'm going to close this one, but looking forward to more discussions in semantic conventions. |
|
@lmolkova - thank you! Will do. I have yet to finish reviewing, been tied up. I will post feedback over there. Appreciate the collaboration and talk soon. |
This PR proposes Agent Telemetry Semantic Conventions (ATSC) — a vendor-neutral semantic layer for AI agent observability that sits above OTel GenAI Semantic Conventions.
Every ATSC span is a valid OTel span ingestible by any OTLP receiver without custom plugins.
Draft spec and JSON Schema are available at ATSC for reference and community feedback.
Known v0.1.0 limitations before you fire:
Originally posted on Reddit r/OpenTelemetry on 16 March 2026 for community feedback. @mhausenblas suggested submitting as an OTEP.
I am currently working on POC bridge adapter pattern to receive raw telemetry from source (e.g.: LangFuse), normalize to ATSC span structure, and emit spans via OTLP for compatible receivers. I will update with a link to the repo when that is completed.
Appreciate the discussion and opportunity to discuss this! Thanks!