Agent Traces That Don't Join: gen_ai.system vs gen_ai.provider.name and a Join-Key Contract for Mixed-Framework Fleets (2026)

A team runs a LangGraph service, an OpenAI Agents SDK worker, and a coding-agent CLI with telemetry switched on this quarter. Every producer is instrumented, every span arrives, and the per-agent cost dashboard still covers exactly one of the three. The others are not erroring; they are simply invisible to the group by everyone wrote, because the attribute that identifies a provider is spelled differently by each producer and, in one case, is not an attribute at all. The instrumentation guide already on this site, OpenTelemetry for AI agents, teaches how to emit those spans and predates the rename described below; this post is about what happens after the spans exist. The architecture question that led readers to the site is answered structurally in the multi-agent system design guide, which covers how to decompose the fleet but not what the telemetry contract between its members has to say. ...

October 31, 2026 · 10 min · baeseokjae