Why was gen_ai.system renamed to gen_ai.provider.name?

To fit a naming pattern OpenTelemetry adopted project-wide, not something specific to GenAI. A 2025 naming guideline said a system-identifying attribute should follow {system}.{thing}.{property} instead of a bare .system field, the same change that turned db.system into db.system.name and rpc.system into rpc.system.name. gen_ai.provider.name fits that shape and opens a gen_ai.provider.* namespace for fields the old flat attribute had no room for, like a future gen_ai.provider.version.

The new name is also more precise about what the value means: it’s the client’s own label for whichever backend served the call, openai, anthropic, or a self-hosted model, not a description of the system as a whole. OpenTelemetry made the change while every GenAI attribute still carried a development stability marker, since a rename after the conventions are declared stable breaks every backend already keying dashboards off the old field name.

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