SKIP TO CONTENT
AI AGENTS6 minAgents in Production / Ep. 12 · Stage 12-1

OpenTelemetry for AI Agents: What to Track as Names Change

On 6 October 2026, the standard latency metric for AI model calls changed its name. Would your panel go flat without a single error?

XIN
Pixel-art night scene of a ship’s chart table under a lamp. Glowing thread lines run between small robot figures on the map, and a brass pin holds the chart down while the sea outside the window shifts.

IN 30 SECONDS

The OpenTelemetry GenAI semantic conventions are shared names for the timing, token and tool data that AI models and agents report, so compatible tools can read it. They’re still in Development, with no release, and changed again on 6 October 2026.

KEY TAKEAWAYS · 3

  • The GenAI conventions now live in their own repository. Every gen_ai.* span, metric and attribute there is in Development status, with no tagged release.
  • On 6 October 2026, PR #521 added gen_ai.client.inference.duration for model calls. gen_ai.client.operation.duration should no longer be reported for inference.
  • A renamed metric can empty a panel without any error, once the old name stops arriving.
On this page

Why a latency panel can go flat

IN SHORT A metric name your dashboards rely on can change under you, because the spec behind it is still moving.

WORDS TO KNOW

Span
One timed step of work, such as a model call or a tool call, with a name and labelled values called attributes.
Trace
All the spans of one run, linked parent to child, so you can see which step started which.
Semantic conventions
OpenTelemetry’s agreed names for spans, attributes and metrics, so every tool means the same thing by the same name.
Development status
OpenTelemetry’s earliest maturity level. Names can still change or break, and the project advises against relying on them in production.

IN PLAIN WORDS

Telemetry is what a running system reports about itself: timings, counts, logs. OpenTelemetry is an open standard for it. Each Span One timed step of work, such as a model call or a tool call, with a name and labelled values called attributes. See the glossary in a Trace All the spans of one run, linked parent to child, so you can see which step started which. See the glossary carries attributes, like the model name.

ONE RENAME, ONE EMPTY PANEL

Flow diagram: 4 stepsFlow diagram: 4 steps. Model call timed, then Old name sent. Old name sent, then New name sent. New name sent, then Panel asks for the old name.1Model call timed2Old name sentgen_ai.client.operation.duration3New name sentgen_ai.client.inference.duration4Panel asks for the oldnameNo data, no error

Step 1. A model call ends. Your instrumentation, the code that records telemetry, times it.

Pick a step to see it move
  1. A model call ends Your instrumentation, the code that records telemetry, times it.
  2. Before #521 It reports gen_ai.client.operation.duration. Your latency panel charts it.
  3. Your library adopts #521 Model calls now report gen_ai.client.inference.duration instead.
  4. The old query finds nothing The panel still asks for the old name. No error shows: the line just goes flat.
Illustrative. The panel empties once your instrumentation stops emitting the old name for model calls and nothing maps it back.

That change landed on 6 October 2026. KubeCon North America, the big cloud conference, runs 9 to 12 November in Salt Lake City: a good moment to decide what to instrument next.

I built and ran 46 internal-ops agents at Integra. I also built a separate 11-agent platform for a private-equity fund. This isn’t a report from either one: it’s the mapping I’d apply today to the gen_ai.* names.

ADAM says: Think of a shared paper form: every office fills in the same printed boxes. Where it breaks: this form has no edition number, so you write the commit down yourself.

Coming up next: So where do these shared names come from?

Where the GenAI names live, and how stable they are

IN SHORT They’re OpenTelemetry’s shared names for AI telemetry. Since June 2026 they live in their own repository, apart from the core conventions.

These Semantic conventions OpenTelemetry’s agreed names for spans, attributes and metrics, so every tool means the same thing by the same name. See the glossary give each model call a known span name and known attributes, under gen_ai.*. Any compatible tool can then count tokens per model.

They moved this year. Core v1.41.0 (28 April 2026) and its v1.41.1 patch (11 May) were the last core releases with the GenAI pages. Since v1.42.0 (12 June 2026), a “Moved” notice points to semantic-conventions-genai.

WHAT YOU ARE DEPENDING ON
Layered stack diagram: 5 layers, top to bottomLayered stack diagram: 5 layers, top to bottom. Layer 1, PROVIDER PAGES: anthropic, openai, aws.bedrock, azure.ai.inference. Layer 2, AGENT AND TOOL SPANS: invoke_workflow, invoke_agent, execute_tool, plan. Layer 3, MODEL CALLS: SPAN, METRICS, EVENTS: {operation} {model}, gen_ai.client.inference.*. Layer 4, GEN_AI.* ATTRIBUTES: Status: Development, No tag, no release. Layer 5, CORE CONVENTIONS v1.44.0: error.type, server.address, server.port, Stable.PROVIDER PAGESanthropicopenaiaws.bedrockazure.ai.inferenceAGENT AND TOOL SPANSinvoke_workflowinvoke_agentexecute_toolplanMODEL CALLS: SPAN, METRICS,EVENTS{operation} {model}gen_ai.client.inference.*GEN_AI.* ATTRIBUTESStatus: DevelopmentNo tag, no releaseCORE CONVENTIONS V1.44.0error.typeserver.addressserver.portStable
Only the bottom layer is Stable; every layer above it can still change. State of the repository on 7 October 2026.

None of the GenAI conventions there is stable. Every GenAI span, metric and attribute I looked at is in Development status OpenTelemetry’s earliest maturity level. Names can still change or break, and the project advises against relying on them in production. See the glossary. There’s no tag, no release, and the README’s Schema URL section just says “TODO”.

The manifest, the file that describes the repository, gives a placeholder schema URL, gen-ai-dev/1.42.0-dev. On 7 October it returned a 404. Only the stable attributes borrowed from core, like error.type and server.address, are guaranteed stable.

Which GenAI metric replaced gen_ai.client.operation.duration?

IN SHORT For model calls, gen_ai.client.inference.duration, merged on 6 October 2026. It’s the latest of several breaking changes since August.

It came with PR #521 (a pull request: a proposed change). The old metric stays for other operations. But the metrics page now says it “SHOULD NOT be reported for inference operations”.

NAMES THAT MOVED IN 2026
gen_ai.client.operation.duration (inference)
gen_ai.client.inference.duration
#521, 6 Oct
gen_ai.client.operation.time_to_first_chunk
gen_ai.client.inference.time_to_first_chunk
#521, 6 Oct
gen_ai.client.operation.time_per_output_chunk
gen_ai.client.inference.time_per_output_chunk
#521, 6 Oct
gen_ai.client.token.usage + gen_ai.token.type
gen_ai.client.inference.operation.input_tokens / .output_tokens (histograms), gen_ai.client.inference.usage.* (counters)
#374, 22 Sep
gen_ai.usage.cache_creation.input_tokens
gen_ai.usage.cache_write.input_tokens
#440, 20 Aug
gen_ai.system
gen_ai.provider.name
Deprecated in core before the move
Dates: when each change reached main, the repository’s main branch. PR numbers match its changelog.d fragments.

Each change can quietly empty a panel built on the old name, once that name stops arriving. That’s not a complaint: Development status exists so names can improve before they freeze.

“We follow the OpenTelemetry GenAI conventions” isn’t a complete sentence. Which commit?

ITEM GET

Name the commit

With no release, following the GenAI conventions means following one commit of them, and saying which.

Sources, read on 7 October 2026: semantic-conventions-genai, commit for #521, metrics, manifest, core v1.42.0 notice, maturity levels.

FAQ

Shared names under gen_ai.* for generative AI telemetry. They name the spans of model calls, agents, tools and retrieval, plus metrics and events. All are in Development status, with no tagged release yet.

STAGE CLEAR

What you now know

  • Why a renamed metric can empty a panel without raising any error.
  • Which layer of the GenAI conventions is Stable, and which can still change.

Check yourself

Tap or click a question to see the answer.

Your team says “we follow the OpenTelemetry GenAI conventions”. What is missing from that sentence, and why?

The commit. With Development status and no release, the names move between commits, as #521 did on 6 October 2026.

Next stage:How do you trace a multi-agent run with OpenTelemetry, and count its tokens only once?6 min
Adam Boudjemaa
Adam Boudjemaa

Web3 x AI engineer, former CTO of Integra. Named author (1 of 5) of ERC-3643, first author of ERC-6960, co-author of ERC-7410, and co-author of ERC-8203, which is still a draft.

Have a project to ship or a role to fill?

Discuss your project or role

My work at the web3 x AI intersectionOpen-source tools I build

Follow the engineering notes

Get new articles on production AI and smart contracts by email.