v4.0.0
What's Changed
Full Changelog: v3.22.6...v4.0.0
Upgrading
Breaking change: spans now carry the stable OpenTelemetry semantic conventions.
The upstream instrumentations (open-telemetry/opentelemetry-js-contrib#3585) dropped the legacy attributes and removed the OTEL_SEMCONV_STABILITY_OPT_IN escape hatch, so there is no way to keep the old names. The public API of setupTracing / stopTracing is unchanged - no code changes are required - but any dashboard, alert or processor keyed on the old attribute names must be updated.
| Removed | Replacement | Affected spans |
|---|---|---|
http.method |
http.request.method |
HTTP |
http.status_code |
http.response.status_code |
HTTP, AWS SDK |
http.url |
url.full |
HTTP |
http.target |
url.path + url.query |
HTTP |
http.scheme |
url.scheme |
HTTP |
http.user_agent |
user_agent.original |
HTTP |
http.client_ip |
client.address |
HTTP |
http.flavor |
network.protocol.version |
HTTP |
net.peer.name |
server.address |
HTTP, IORedis |
net.peer.port |
server.port |
HTTP, IORedis |
db.system |
db.system.name |
IORedis, DynamoDB |
db.statement |
db.query.text |
IORedis, DynamoDB |
db.operation |
db.operation.name |
IORedis, DynamoDB |
db.connection_string |
none | IORedis |
Server-side HTTP metrics also move from http.server.duration (milliseconds) to http.server.request.duration (seconds), and the client equivalents likewise.
peer.service is unchanged, so Tempo/Grafana service graphs keep working as before. IORedis spans also gain db.operation.name, which distinguishes MULTI/PIPELINE commands.