Releases: open-telemetry/semantic-conventions
v1.28.0
🛑 Breaking changes 🛑
database: Add newdb.response.status_codeattribute, deprecatedb.cosmos.status_code. (#1424)gen_ai: Deprecategen_ai.promptandgen_ai.completionattributes, introduce log-based events for GenAI inputs and outputs. (#834, #980)system: Makesystem.cpu.utilizationandprocess.cpu.utilizationopt-in (#1130)messaging: Mark*.sizemessaging attributes as opt-in (#474)
🚩 Deprecations 🚩
event: Remove support for the eventfieldssupporting referencing / inheriting fields from global attributes. (#1341)
🚀 New components 🚀
-
cloudfoundry: Adds a resource convention for Cloud Foundry applications and system components. (#622, #624)
Introduces a description for CloudFoundry resources. These can either be
applications deployed on the runtime or system components of Cloud Foundry
itself. It also extends to the runtime logs and metrics, e.g. Gorouter access
logs and container metrics. -
dotnet: Adds experimental metrics for the .NET Common Language Runtime (CLR). (#956) -
profile: Introduce semantic convention for OTel Profiles. (#1188)
💡 Enhancements 💡
-
db: Mark database semantic conventions as release candidate (#1101) -
messaging: Define span kind for unspecified cases of messagingpublishandprocessspans. (#1112) -
db: Change description ofdb.client.connection.pending_requestsfrom cumulative to current value (#1290) -
docs: Add note on tooling limitations for attribute names and enforce name format. (#1124) -
az, db: Definedb.operation.namevalues for Cosmos DB, declareaz.namespaceattribute and add proper reference to it. (#1330) -
db: Recommend to capturedb.namespacefrom initial connection over not capturing any, also specifydb.namespacevalue for PostgreSQL, MySQL and MariaDB (#1437) -
messaging: Add recommendation to report "Create" spans for batch send calls only and to allow to disable "Create" spans.
(#1273) -
other: Update resource to include stability in the YAML file (#1399)
Makes the following changes:- Require
nameon resource groups. - Enforce backwards compatibility stability requirements on resource groups.
- Rename
telemetrytotelemetry.sdk, attributes are unchanged. - Mark
telemetry.sdkandresourceas stable in YAML model. - Markdown templates for resource groups NOW includes header describing
the resourcetype,stabilityanddescription.
- Require
-
process: Add additional process fields from ECS (#993) -
container: Addcontainer.cpu.usagemetric (#1128) -
container: Add CSI (Container Storage Interface) attributes:container.csi.plugin.nameandcontainer.csi.volume.id. (#1119) -
system: Add thesystem.filesystem.limitmetric (#127) -
k8s: Addk8s.pod.cpu.time,k8s.pod.cpu.usage,k8s.node.cpu.time,k8s.node.cpu.usagemetrics (#1320) -
k8s: Add k8s.pod.memory usage and k8s.node.memory.usage metrics (#1406) -
k8s: Addsk8s.volume.nameandk8s.volume.typeattributes to the registry (#1164) -
os: add lookup foros.build_id(#1318) -
gen_ai: Add system specific conventions for OpenAI. (#1370) -
system: Add thesystem.disk.limitmetric (#127) -
file: Add additional attributes from ECS to thefilenamespace. (#914) -
messaging: Clarify the possibility to have a parent-child trace structure in messaging conventions (#1282) -
nodejs: Addingnodejs.eventloop.timemetric to Node.js runtime metrics. (#1259) -
process: Extend process.executable with build_id attributes. (#1329)
For correct symbolization it is important to uniquely identify executables. -
messaging: Change messaging.operation.type = publish to messaging.operation.type = send (#1285) -
host: update lookup for os.build_id (#1396)
🧰 Bug fixes 🧰
messaging: Fix deprecated note for service bus attributes (#1418)container: Fixes broken link (#1332)
New Contributors
- @MadVikingGod made their first contribution in #1334
- @florianl made their first contribution in #1188
- @johantiden made their first contribution in #1378
- @NathanBaulch made their first contribution in #1379
- @gdvalle made their first contribution in #1388
- @ysolomchenko made their first contribution in #1374
- @KarstenSchnitter made their first contribution in #624
- @mamwl1 made their first contribution in #1422
Full Changelog: v1.27.0...v1.28.0
v1.27.0
🛑 Breaking changes 🛑
-
messaging: Support generic operations in messaging and rename metrics:- Make
messaging.operation.namerequired andmessaging.operation.typeconditionally required when type is applicable. - Rename
messaging.publish.messagesmetric tomessaging.client.published.messages - Unify
messaging.publish.durationandmessaging.receive.durationmetrics intomessaging.client.operation.duration - Unify
messaging.receive.messagesandmessaging.process.messagesmetrics intomessaging.client.consumed.messages
(#1006, #947, #937)
- Make
-
db: Clean updb.systemenum members:- remove
firstsql,mssqlcompact, andcloudscapeas the corresponding databases are discontinued. - rename
cachetointersystems_cache - remove
coldfusionas it is not a database.
(#1110)
- remove
-
db: Renamedb.client.connections.*attributes todb.client.connection.*(#1125) -
messaging: Renamemessaging.kafka.message.offsettomessaging.kafka.offset(#1156) -
db: Sampling relevant attributes defined for database client spans (#1019) -
tls: Deprecatetls.client.server_name attributein favor of commonserver.address.
(#1211, #1216) -
messaging: Deprecate `messaging.destination_publish.*`` namespace and remove all usages. (#1178, #1241) -
messaging: Introduce common attributes for consumer group and subscription name instead of per-system ones: -messaging.consumer.group.nameinstead ofmessaging.kafka.consumer.group,messaging.rocketmq.client_group, andmessaging.eventhubs.consumer.group. -messaging.destination.subscription.nameinstead ofmessaging.servicebus.destination.subscription_name. Use it in the Google Pub/Sub conventions.
(#815) -
db: Align Elasticsearch span name to the general database span name guidelines. Deprecatesdb.elasticsearch.cluster.namein favor ofdb.namespace.
(#1002) -
cicd, deployment, artifact, test, vcs: Adds CICD common attributes to the registry. (#915, #832, #833)- CICD common attributes have been added to the registry.
deployment.environmenthas been deprecated and moved todeployment.environment.name.
-
jvm: Rename JVM metricjvm.buffer.memory.usagetojvm.buffer.memory.used(#288) -
system: Renameprocess.cpu.state,container.cpu.state, andsystem.cpu.stateattributes into a commoncpu.modeattribute (#840)
🚀 New components 🚀
azure: Add Azure SDK attributes & Logs event semantic conventions (#1027)go: Add new go namespace for Go runtime metrics (#535)nodejs: Introducing semantic conventions for Node.js runtime metrics. (#990)user: BREAKING - deprecateenduserin favor of a newusernamespace. Add moreuserattributes. (#731)v8js: Introducing semantic conventions for V8 JS Engine runtime metrics. (#990)
💡 Enhancements 💡
db: List SQL database systems on the SQL semantic conventions. (#1024)db: Update database span name: clarify that target depends on the operation and should not be set when corresponding data is not available. (#1045)db: Mention how to capture collection and operation names from query text in the registry (#1070)docs: Don't render deprecated enum members in semconv tables. (#1110)gen-ai: Use GenAI instead of LLM on GenAI trace semantic conventions and minor cleanups. (#1087)gen-ai: Add GenAI model server metrics for measuring LLM serving latency (#1102)db: Clarify thatdb.query.parameter.<key>is string representation of the parameter value (#1165)messaging: Clarify how per-message attributes should be recorded for batch operations. (#1168)messaging: Define sampling relevant attributes for messaging client spans (#432, #1169)gen_ai: Renamegen_ai.usage.prompt_tokenstogen_ai.usage.input_tokensandgen_ai.usage.completion_tokenstogen_ai.usage.output_tokensto align terminology between spans and metrics.
(#1200)gen_ai: Convertgen_ai.operation.nameto enum and use it on spans (#1202)network: Add QUIC to the list of well known network transports (#1237, #1239)db:db.query.textIN-clauses MAY be collapsed during the sanitization process (#1053)db,messaging: Clarify that DB and messaging system-specific conventions override common ones (#1235, #1244)db: Add better example of how to make the pool name unique (#1289)docs: Update semantic conventions code generation documentation to use weaver instead of build-tools. (#1296)gen_ai: Addserver.address,server.port, anderror.typeto GenAI spans. (#1297)gen-ai: Adding metrics for GenAI clients. (#811)gen-ai: Addinggen_ai.request.top_k,gen_ai.request.presence_penalty,gen_ai.request.frequency_penaltyandgen_ai.request.stop_sequencesattributes. (#839)messaging: Documentmessaging.operation.namefor Azure messaging systems. (#942)all: Define name abbreviations guidelines in attribute and metric names. (#1121)messaging: Add pulsar message system (#1099)linux: Add thesystem.linux.memory.slab.usagemetric and thelinux.memory.slab.stateattributes. (#531)cloudevents: CloudEvents conventions to follow HTTP/Messaging Span conventions (#654)db: Add support for database batch operations (#712)db: Specify sanitization fordb.query.text. (#717)gen-ai: Add 3 well-known gen-ai systems as reference values of the gen-ai system attribute (#1020)gcp: Introducesgcp.client.servicescope attribute. (#1047)db: Add semantic convention of InfluxDB (#949)log: Add 'log.record.original' attribute. (#1137)session: Add new experimentalsession.startandsession.endevents (#1091)
🧰 Bug fixes 🧰
messaging: Update Kafka Spring example to align with the messaging spec (#1155)http: Relax requirement on when to set HTTP span status to Error fromMUSTtoSHOULD. (#1167, #1003)
New Contributors
- @kianmeng made their first contribution in #1060
- @dashpole made their first contribution in #981
- @michaelsafyan made their first contribution in #1063
- @maryliag made their first contribution in #1077
- @drewby made their first contribution in #955
- @TaoChenOSU made their first contribution in #1020
- @crossoverJie made their first contribution in #1099
- @jerbly made their first contribution in #1088
- @karthikscale3 made their first contribution in #1059
- @achandrasekar made their first contribution in #1103
- @djaglowski made their first contribution in #1217
- @adrielp made their first contribution in #1075
- @JamieDanielson made their first contribution in #1263
- @lenin-jaganathan made their first contribution in #1265
- @rogercoll made their first contribution in #1078
- @MikeGoldsmith made their first contribution in #1028
Full Changelog: v1.26.0...v1.27.0
v1.26.0
v1.26.0
🛑 Breaking changes 🛑
-
db: Renamedb.statementtodb.query.textand introducedb.query.parameter.<key>(#716) -
db: Renamesdb.sql.table,db.cassandra.table,db.mongodb.collection, anddb.cosmosdb.containerattributes todb.collection.name(#870) -
db: Renamedb.operationtodb.operation.name. (#884) -
messaging: Renamemessaging.operationtomessaging.operation.type, addmessaging.operation.name. (#890) -
db: Deprecate thedb.userattribute. (#885) -
db: Renamedb.nameanddb.redis.database_indextodb.namespace, deprecatedb.mssql.instance_name. (#885) -
db: Removedb.instance.id. For Elasticsearch, replace withdb.elasticsearch.node.name. (#972) -
db: Clarify database span name format and fallback values. (#974, #704) -
db: Renamedb.client.connections.*metric namespace todb.client.connection.*and renamedb.client.connection.usagetodb.client.connection.count.
(#201, #967) -
db: Renamepool.nametodb.client.connections.pool.nameandstatetodb.client.connections.state. (#909) -
system: Deprecatesharedfromsystem.memory.statevalues and make it a standalone metric (#522) -
device.app.lifecycle: Reformat and update thedevice.app.lifecycleevent description adds constraints for the possible values of theandroid.stateandios.state.
(#794)
Removes theios.lifecycle.eventsandandroid.lifecycle.eventsattributes from the global registry and adds constraints for the possible values of theandroid.stateandios.stateattributes. -
messaging: Renamemessaging.client_idtomessaging.client.id(#935) -
rpc: Renamemessage.*attributes underrpctorpc.message.*. Deprecate oldmessage.*attributes. (#854)
🚀 New components 🚀
gen-ai: Introducing semantic conventions for GenAI clients. (#327)
💡 Enhancements 💡
-
all: Markdown snippets are now generated by jinja templates in thetemplatesdirectory. (#1000) -
db, messaging, gen_ai: Clarify thatdb.system,messaging.system,gen_ai.systemattributes capture the client perception and may differ from the actual product name. (#813, #1016) -
messaging: Show all applicable attributes in individual messaging semantic conventions. (#869, #1018) -
process: Add additional attributes to process attribute registry (#564) -
messaging: Add a GCP Pub/Sub unary pull example and the new GCP messaging attributes: -messaging.gcp_pubsub.message.ack_deadline, -messaging.gcp_pubsub.message.ack_id, -messaging.gcp_pubsub.message.delivery_attempt(#527) -
db: Adddb.client.operation.durationmetric (#512) -
messaging: Adds `messaging.destination.partition.id`` to the messaging attributes (#814) -
exception: Replace constraints with requirement levels on exceptions. (#862) -
process: Replace constraints with requirement_level in process attributes. (#863) -
db: Reorganize DB conventions to be shared across span and metric conventions. (#910) -
all: Migrate Attribute Registry to be completely autogenerated. (#197)
Migrate to using weaver for markdown generation (snippet + registry).
The entirety of the registry now is generated using weaver with templates
under thetemplates/directory. Snippets still require a hardcoded
command. -
http: List all HTTP client and server attributes in the corresponding table, remove common attributes from yaml and markdown. (#928) -
other: Document patterns and suggestions for semconv code generation. (#551, #953) -
db: Show applicable common attributes in individual database semantic conventions. (#973) -
db: Adderror.typeattribute to the database span and operation duration metric. (#975) -
db: Parameterized query text does not need to be sanitized by default (#976) -
http: List experimental HTTP attributes applicable to HTTP client and server spans. (#989) -
db: Finalizes the migration requirement for instrumentations to follow when updating to stable database semconv. (#719) -
http: Newurl.templateattribute added to URL, HTTP client attributes are extended with optional low-cardinalityurl.template(#675) -
db: Add note todb.collection.name,db.namespace, anddb.operation.nameabout capturing those without attempting to do any case normalization.
(#886) -
events: Provides additional definitions of log events and their structure. (#755) -
k8s: add container.status.last_terminated_reason resource attribute (#922)
🧰 Bug fixes 🧰
v1.25.0
🛑 Breaking changes 🛑
messaging: Removenetwork.transportandnetwork.typeattributes from messaging semantic conventions, clarify whennetwork.peer.address|portshould be populated. (#690, #698)db: Removenetwork.transportandnetwork.typeattributes from database semantic conventions, clarify whennetwork.peer.address|portshould be populated. (#690, #768)messaging: Introduce commonmessaging.destination.partition.idinstead ofmessaging.kafka.destination.partition(#798)host: [resource/host] Change type of host.cpu.stepping to string (#664, #665)system: Renamesystem.processes.*namespace tosystem.process.*(#484)k8s,container: Depluralize labels for pod (k8s.pod.labels.*) and container (container.labels.*) resources (#625)process: Generate process metrics from YAML (#330):- Rename
process.threadstoprocess.thread.count - Rename
process.open_file_descriptorstoprocess.open_file_descriptor.count - Rename attributes for
process.cpu.*statetoprocess.cpu.state
- Change attributes for
process.disk.io- Instead of
directionusedisk.io.directionfrom global registry
- Instead of
- Change attributes for
process.network.io- Instead of
directionusenetwork.io.directionfrom global registry
- Instead of
- Rename attributes for
process.context_switchestypetoprocess.context_switch_type
- Rename attributes for
process.paging.faultstypetoprocess.paging.fault_type
- Rename
🚩 Deprecations 🚩
db: Deprecatedb.connection_stringattribute in favor ofserver.addressandserver.port(#724, #769)db: Deprecatedb.jdbc.driver_classnameattribute (#796)
🚀 New components 🚀
file: Add new file namespace (#732)
💡 Enhancements 💡
messaging: Add `messaging.rabbitmq.message.delivery_tag`` to the list of RabbitMQ specific tags (#433)messaging: Clarify producer span relationships for messaging semantic conventions (#509)rpc: Add link to specification for metrics defined by gRPC community. (#627)messaging: Add messaging semantic conventions for settlement spans (#621)messaging: Clarifies span names for Azure messaging systems and addsmessaging.servicebus.disposition_status attribute. (#697)messaging: Add a "Process" spans and metrics for messaging (#657)db: Update Elasticsearch attributes to use db.instance.id instead of db.elasticsearch.node.name (#725)db: Merge DB connection-level and call-level attributes tables (#780)dns: Introduces common DNS lookup duration metric and attributes. (#404)other: Update build-tools version to 0.24.0 and make semantic conventions compatible with this version (add stability on enum members and deprecated attributes). (#807)system: Alignsystem.cpu.state's definition with this ofprocess.cpu.state. (#563)container: Add new container metrics forcpu,memory,diskandnetwork(#282, #72)url: Sensitive content provided inurl.full,url.path, andurl.querySHOULD be scrubbed when instrumentations can identify it. (#676)metrics: Clarify metric attributes should be namespaced. (#394)events: Add clarification that the body of an Event will live in the LogRecord body field. (#566)http: Addhttp.request.sizeandhttp.response.sizeattributes for the total number of bytes in http messages (#38, #84)http: Extracts common HTTP client metrics from .NET conventions. (#800)resource: Define a common algorithm forservice.instance.id. (#312)user-agent: Update user_agent subfields wording to support it's usage for non-browser products with multiple names/versions (#680)url: Add remaining ECS fields to the url namespace (#496)messaging: Makenetwork.protocol.nameconditionally required for messaging (#644)cloud: Addazure_container_appstocloud.platformsemantic conventions (#615)user_agent: Adduser_agent.nameanduser_agent.versionattributes (#452)messaging: Add an example for gcp_pubsub asynchronous batch publish (#545)aws: Addaws.ecs.task.idattribute, corrected description foraws.ecs.task.arn(#597)messaging: Add Azure Service Bus and Event Hubs messaging attributes (#572)
🧰 Bug fixes 🧰
v1.24.0
This release marks JVM metrics stable.
Breaking
- Update
jvm.gc.durationhistogram buckets to[ 0.01, 0.1, 1, 10 ](#317) - BREAKING: Change type of
host.cpu.model.idandhost.cpu.model.familyto string. (#499) - Changed
messaging.systemattribute type to an open enum (#517) - Rename metrics
jvm.memory.usagetojvm.memory.usedandjvm.memory.usage_after_last_gc
tojvm.memory.used_after_last_gc(#536) - BREAKING: Change
event.namedefinition to includenamespaceand removeevent.domainfrom log event attributes. (#473) - BREAKING: Change
system.disk.io.directionandsystem.network.io.directionto global attributesdisk.io.directionand network.io.direction`
(#530) - BREAKING: Change
messaging.kafka.partitiontomessaging.kafka.destination.partition(#547)
Features
- Adds
labelsattribute tok8s.podresource (#494) - Change Erlang managed thread attribute to be the Erlang process (#491)
- Add gcp_pubsub as a messaging system (#490)
- Adds
annotationattribute tok8s.podresource (#494) - Add
code.stacktraceattribute (#435) - Add
http.flavorandhttp.user_agentto list of deprecated attributes (#503) - Add Semantic conventions for TLS/SSL encrypted communication. (#21)
- Add
messaging.gcp_pubsub.message.ordering_keyattribute. (#528) - Define how to set
process.runtime.name,process.runtime.version,process.runtime.descriptionfor .NET runtime. (#561) - Add
db.instance.idattribute. (#345) - Add messaging metrics (#163)
- Add .NET 8.0 metrics for HTTP client, ASP.NET Core, SignalR server and Kestrel. (#283)
- Add system shared IO direction attributes (#530)
- JVM metrics marked stable (#569)
- Add attribute for k8s pod annotations (#573)
- Replace AWS X-Ray Environment Span Link section with AWS X-Ray Active Tracing Considerations (#354)
Fixes
- Remove misleading pluralization wording related to count metrics (#488)
- Remove no longer relevant Oct 1 mention from
OTEL_SEMCONV_STABILITY_OPT_IN(#541) - Update stability definitions of HTTP client and server duration metrics to be consistent with markdown. (#587)
- Use
deprecatedproperty to mark attributes as deprecated instead ofstability(#588)
Full Changelog: v1.23.1...v1.24.0
v1.23.1
This patch releases fixes an issue that caused code generation using the tooling provided in https://github.com/open-telemetry/build-tools/tree/main/semantic-conventions#code-generator to fail. See #524 for details.
Changes
- [backport to 1.23.x] Temp fix for separation of resource and semantic attributes (#524) by @arminru in #537
- Add 1.23.1 schema and prepare changelog for patch release by @arminru in #538
Full Changelog: v1.23.0...v1.23.1
v1.23.0
This release marks the first where the core of HTTP semantic conventions have stabilized.
Breaking
- BREAKING: Rename http.resend_count to http.request.resend_count. (#374)
- BREAKING: Change
network.protocol.namefrom recommended to opt-in in HTTP semconv. (#398) - BREAKING: Define url.scheme in terms of logical operation in HTTP server semconv. (#376)
- BREAKING: Change
network.transportfrom recommended to opt-in in HTTP semconv. (#402) - BREAKING: Change
network.typefrom recommended to opt-in in HTTP semconv. (#410) - BREAKING: Factor in
X-Forwarded-Host/Forwardedwhen capturingserver.addressandserver.port. (#411) - Remove
thread.daemon, and introducejvm.thread.daemoninstead. Introducejvm.thread.stateattribute and add it tojvm.thread.countmetric. (#297) - Fix
server.portto be not required whenserver.addressis not set. (#429) - Use seconds as default duration for FaaS duration histograms (#384)
- BREAKING: Remove
totalfrom list of well-known values ofsystem.memory.stateattribute. (#409) - Remove
url.pathdefault value. (#462) - Remove conditional requirement on
network.peer.addressandnetwork.peer.port(#449) - Change
user_agent.originalfrom recommended to opt-in on HTTP client spans. (#468) - Change
http.request.body.sizeandhttp.response.body.sizefrom recommended to opt-in. (#460) - Clarify that
client.portis the port of whichever client was captured inclient.address. (#471) - Change
client.portfrom recommended to opt-in on HTTP server spans (#472) - BREAKING: Make
url.schemeopt_in for HTTP client and remove default value forserver.portmaking it required on the client.
(#459) - Make
client.addresssampling relevant on HTTP server spans. (#469) - Change
network.protocol.namefrom opt-in to conditionally required. (#478) - Remove outdated
http.request.header.hostguidance (#479) - Change sampling relevant from
MUSTtoSHOULD(#486) - Make
user_agent.originalandhttp.request.header.*sampling relevant on HTTP server spans. (#467)
Features
- Adds
session.previous_idto session.md (#348) - Metric namespaces SHOULD NOT be pluralized. (#267)
- Add opt-in
system.memory.limitmetric. (#409) - Add
host.macresource attribute convention. (#340) - Mark HTTP semantic conventions as stable. (#377)
Fixes
- Clarify that
error.typeshould be the fully-qualified exception class name when it represents an exception type. (#387) - Add cardinality warning about two opt-in HTTP metric attributes (#401)
- Change
server.portfrom recommended to conditionally required on HTTP server semconv. (#399) - Add cardinality warning about two opt-in HTTP metric attributes to all HTTP metrics. (#412)
- Remove outdated note about not recording HTTP
server.addresswhen only IP address available. (#413) - Clarify HTTP server definitions and
server.address|portnotes. (#423) - Change the precedence between
:authorityandHostheaders when populatingserver.addressandserver.portattributes. (#455)
New Contributors
- @michaelklishin made their first contribution in #405
- @trisch-me made their first contribution in #400
- @adamzapasnik made their first contribution in #437
- @kaiyan-sheng made their first contribution in #453
Full Changelog: v1.22.0...v1.23.0
v1.22.0
Breaking
- BREAKING: Rename all JVM metrics from
process.runtime.jvm.*tojvm.*
(#241) - BREAKING: Add namespaces to JVM metric attributes (#20).
- Rename attributes
typetojvm.memory.type,pooltojvm.memory.pool.name - Applies to metrics:
jvm.memory.usagejvm.memory.initjvm.memory.committedjvm.memory.limitjvm.memory.usage_after_last_gc
- Rename attributes
gctojvm.gc.name,actiontojvm.gc.action - Applies to metrics:
jvm.gc.duration
- Rename attribute
daemontothread.daemon - Applies to metrics:
jvm.threads.count
- Rename attribute
pooltojvm.buffer.pool.name - Applies to metrics:
jvm.buffer.usagejvm.buffer.limitjvm.buffer.count
- Rename attributes
- BREAKING: Rename
http.client.durationandhttp.server.durationmetrics to
http.client.request.durationandhttp.server.request.durationrespectively.
(#224) - BREAKING: Rename
jvm.classes.current_loadedmetrics tojvm.classes.count
(#60) - BREAKING: Remove pluralization from JVM metric namespaces.
(#252) - BREAKING: Rename metrics
jvm.buffer.usagetojvm.buffer.memory.usage
andjvm.buffer.limittojvm.buffer.memory.limit.
(#253) - BREAKING: Change HTTP span name when method is unknown (use
HTTPinstead of_OTHER)
(#270) - BREAKING: Generate System metrics semconv from YAML.
(#89)- Rename attributes for
system.cpu.*metrics:statetosystem.cpu.statecputosystem.cpu.logical_number
- Rename attributes for
system.memory.*metrics:statetosystem.memory.state
- Rename attributes for
system.paging.*metrics:statetosystem.paging.statetypetosystem.paging.typedirectiontosystem.paging.direction
- Rename attributes for
system.disk.*metrics:devicetosystem.devicedirectiontosystem.disk.direction
- Rename attributes for
system.filesystem.*metrics:devicetosystem.devicestatetosystem.filesystem.statetypetosystem.filesystem.typemodetosystem.filesystem.modemountpointtosystem.filesystem.mountpoint
- Rename attributes for
system.network.*metrics:devicetosystem.devicedirectiontosystem.network.directionprotocoltonetwork.protocolstatetosystem.network.state
- Rename attributes for
system.processes.*metrics:statustosystem.processes.status
- Rename attributes for
- BREAKING: Rename
messaging.message.payload_size_bytestomessaging.message.body.size,
removemessaging.message.payload_compressed_size_bytes.
(#229) - BREAKING: Rename
http.server.request.sizemetric tohttp.server.request.body.size
andhttp.server.response.sizemetric tohttp.server.response.body.size
(#247) - BREAKING: Remove the zero bucket boundary from
http.server.request.duration
andhttp.client.request.duration.
(#318) - BREAKING: Rename
telemetry.auto.versionresource attribute totelemetry.distro.version
and addtelemetry.distro.nameresource attribute
(#178) - BREAKING: Add
url.schemetohttp.client.*metrics
(#357) - BREAKING: Remove
server.socket.addressfrom HTTP and RPC client metrics.
(#350) - BREAKING: Rename/replace
(client|server).socket.(address|port)attributes
withnetwork.(peer|local).(address|port).
(#342)
Non-Breaking
- Remove experimental Kafka metrics (#338)
- Adds
session.idand session.md to general docs and model
(#215) - Add
container.labels.<key>attributes.
(#125) - Add
cluster.nameandnode.nameattributes to Elasticsearch semantic conventions.
(#285) - Fix the unit of metric.process.runtime.jvm.system.cpu.load_1m to be {run_queue_item}
(#95) - Update
.countmetric naming convention so that it only applies to UpDownCounters,
and add that.totalshould not be used by either Counters or UpDownCounters
(#107) - Add
oci.manifest.digest,container.image.repo_digestsattributes. Makecontainer.image.tagarray and in plural form.
(#159) - Update HTTP
network.protocol.versionexamples to match HTTP RFCs.
(#228) - Re-introduce namespace and attributes to describe the original destination messages were
published to (messaging.destination_publish.*).
(#156) - Generate FaaS metric semantic conventions from YAML.
(#88)
The conventions cover metrics that are recorded by the FaaS itself and not by
clients invoking them. - Clarify that
http/duphas higher precedence thanhttpin case both values are present
inOTEL_SEMCONV_STABILITY_OPT_IN
(#249) - Add
jvm.cpu.countmetric.
(#52) - Simplify HTTP metric briefs.
(#276) - Add host cpu resource attributes.
(#209) - Introduce
error.typeattribute and use it in HTTP conventions
(#205) - Moved RPC streaming notes from metric brief section to notes section.
(#275) - Updates
client.addressto allow domain names for consistency withserver.address.
(#302) - Add
system.linux.memory.availablemetric.
(#323) - Move non-
network.*attributes out of network.yaml.
(#296) - Introducing Android
android.os.api_levelresource attribute.
(#328) - Added
os.build_idresource attribute.
(#293) - Encourage setting
network.transportwhen reporting port numbers
(#289) - Improve network attribute briefs.
(#352) - Document the difference between host and system metrics
(#324) - Improve HTTP metric briefs.
(#366) - Add
host.ipresource attribute convention.
(#203) - Make
network.protocol.name|versiondescription consistent between HTTP
spans and metrics.
(#367)
v1.21.0
Note: This is the first release of Semantic Conventions separate from the Specification.
- Add GCP Bare Metal Solution as a cloud platform
(#64) - Clarify the scope of the HTTP client span.
(#3290) - Add moratorium on relying on schema transformations for telemetry stability
(#3380) - Mark "Instrumentation Units" and "Instrumentation Types" sections of the general
metric semantic conventions as stable
(#3294) - Add clarification that UCUM c/s variant applies to all units other than
1and
those using annotations.
(#3393) - Specify that seconds should be used for measuring durations.
(#3388) - Change http.server.duration and http.client.duration units to seconds
(#3390) - BREAKING: Remove
messaging.consumer.id, makemessaging.client_idgeneric
(#3336) - Add transition plan for upcoming breaking changes to the unstable HTTP semantic
conventions.
(#3443) - Rename
net.peer.*,net.host.*, andnet.sock.*attributes to align with ECS
(#3402)
BREAKING: renamenet.peer.nametoserver.addresson client side and toclient.addresson server side,
net.peer.porttoserver.porton client side and toclient.porton server side,
net.host.nameandnet.host.porttoserver.addressandserver.port(sincenet.host.*attributes only applied to server instrumentation),
net.sock.peer.addrtoserver.socket.addresson client side and toclient.socket.addresson server side,
net.sock.peer.porttoserver.socket.porton client side and toclient.socket.porton server side,
net.sock.peer.nametoserver.socket.domain(sincenet.sock.peer.nameonly applied to client instrumentation),
net.sock.host.addrtoserver.socket.address(sincenet.sock.host.*only applied to server instrumentation),
net.sock.host.porttoserver.socket.port(similarly sincenet.sock.host.*only applied to server instrumentation),
http.client_iptoclient.address - BREAKING: Introduce
network.transportdefined as
OSI Transport Layer or
Inter-process Communication method.
Introducenetwork.typedefined as OSI Network Layer
or non-OSI equivalent. Removenet.transportandnet.sock.family.
Renamenet.protocol.*tonetwork.protocol.*,
net.host.connection.*tonetwork.connection.*, and
net.host.carrier.*tonetwork.carrier.*.
(#3426) - BREAKING: Adopt ECS attributes in HTTP semantic conventions.
Renames:http.methodtohttp.request.method,
http.status_codetohttp.response.status_code,
http.request_content_lengthtohttp.request.body.size,
http.response_content_lengthtohttp.response.body.size,
http.urltourl.full,
http.schemetourl.scheme,
and removeshttp.targetbreaking it down tohttp.targettourl.path,url.query, andurl.fragment.
(#3355) - Add
gcp.cloud_run.job.executionandgcp.cloud_run.job.task_idresource
attributes for GCP Cloud Run Jobs (#3378) - Specify second unit (
s) and advice bucket boundaries of[]
forprocess.runtime.jvm.gc.duration.
(#3458) - Specify the value range for JVM CPU metrics.
(#13) - Rename
process.runtime.jvm.cpu.utilizationtoprocess.runtime.jvm.cpu.recent_utilization.
(#53) - Clarify
process.runtime.jvm.threads.countrefers to platform threads.
(#54) - Add
gcp.gce.instance.nameandgcp.gce.instance.hostnameresource
attributes for GCP Compute Engine VMs. (#15) - Add note that HTTP duration metrics should match HTTP span duration.
(#69) - Clarify when HTTP client spans should end.
(#70) - Clarify that OTEL_SEMCONV_STABILITY_OPT_IN is a comma-separated list of values
(#104) - Add
process.runtime.jvm.cpu.timemetric.
(#55) - Split out sections for proposed stable JVM metrics and experimental JVM metrics.
(#56) - Make
url.queryconditionally required for HTTP spans.
(#118) - Change
server.addressandserver.portrequirement levels on HTTP server metrics
fromrequiredtoopt_in.
(#109) - Updated AWS Java Lambda guidance - using system properties.
(#27) - Limit
http.request.methodvalues to a closed set of known values,
introducehttp.request.method_originalfor the original value.
(#17) - Mark service.version as stable.
(#106) - Mark initial set of HTTP semantic conventions as frozen
(#105) - BREAKING: Remove
messaging.source.*attributes and usemessaging.destination.*
attributes on producer and consumer to describe messaging queue or topic.
(#100) - Mark
process.runtime.jvm.system.cpu.load_1mandprocess.runtime.jvm.system.cpu.utilizationmetrics as opt-in.
(#57) - Add container
image.id,command,command_lineandcommand_argsresource attributes.
(#39) - Add Elasticsearch client semantic conventions.
(#23) - Add YAML definitions for log semantic conventions and define requirement levels
(#133) - Add markdown file for url semantic conventions
(#174)