AttritionOpenTelemetry semantic convention checker

Find the OpenTelemetry names the spec already retired.

Paste instrumentation code. Every attribute key, metric name, event name, enum value and SDK constant is checked against 1,563 names from 26 releases of the semantic conventions, stored as structured content in Sanity and read through Sanity Context and a Knowledge Base. You get the verdict, the replacement for your span kind, the release that retired it, the spec line that says so, and a patch.

Open the live app Source on GitHub Knowledge Base decisions Real repository results
Demo: scanning two samples, then the Knowledge Base decisions page

What a keyword search gets wrong

net.peer.name

Two answers. server.address on client spans, client.address on server spans. The agent reads the span kind from your code, and asks when it cannot.

db.sql.table

Becomes db.collection.name only if the value is not extracted from db.query.text. A condition, not a rename.

db.name db.namespace

The registry says renamed. The migration guide says removed and integrated. Both are shown, and the key stays out of the patch.

gen_ai.*

58 GenAI attributes, including mcp.* and openai.*, moved to a separate repository in v1.42.0. Moved is not removed, and the agent links to where they live now.

Built on Sanity Context

1,654

documents in the public dataset y9raau23/production: 940 attributes, 571 metrics and 36 events from 26 spec releases

50

names that left the spec with no deprecation entry, found by reading every older release. Only the migration guides record where they went.

4

real conflicts between the registry and the guides, raised by the Knowledge Base build and resolved into standing instructions

144

Knowledge Base sources, inside the 150 budget, read with knowledge_base_search and knowledge_base_read

Real repositories, pinned commits

RepositoryRetired names in codeFiles to touch
open-telemetry/opentelemetry-demo64
jaegertracing/jaeger6713
redis/go-redis164
go-gorm/opentelemetry00
uptrace/opentelemetry-go-extra187

A finding means the key is deprecated in the spec. Fixtures that read old data, or libraries that dual-emit on purpose during a migration, may keep the old key for now. Every line is linked in the results file.

Scan of a TypeScript checkout service with dropped HTTP metrics answered from the Knowledge Base
Knowledge Base conflicts with both claims and the chosen ground truth