# Changelog ## 1.27.0 ### 🛑 Breaking changes 🛑 - `messaging`: Support generic operations in messaging and rename metrics: - Make `messaging.operation.name` required and `messaging.operation.type` conditionally required when type is applicable. - Rename `messaging.publish.messages` metric to `messaging.client.published.messages` - Unify `messaging.publish.duration` and `messaging.receive.duration` metrics into `messaging.client.operation.duration` - Unify `messaging.receive.messages` and `messaging.process.messages` metrics into `messaging.client.consumed.messages` (#1006, #947, #937) - `db`: Clean up `db.system` enum members: - remove `firstsql`, `mssqlcompact`, and `cloudscape` as the corresponding databases are discontinued. - rename `cache` to `intersystems_cache` - remove `coldfusion` as it is not a database. (#1110) - `db`: Rename `db.client.connections.*` attributes to `db.client.connection.*` (#1125) - `messaging`: Rename `messaging.kafka.message.offset` to `messaging.kafka.offset` (#1156) - `db`: Sampling relevant attributes defined for database client spans (#1019) - `tls`: Deprecate `tls.client.server_name attribute` in favor of common `server.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.name` instead of `messaging.kafka.consumer.group`, `messaging.rocketmq.client_group`, and `messaging.eventhubs.consumer.group`. - `messaging.destination.subscription.name` instead of `messaging.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. Deprecates `db.elasticsearch.cluster.name` in favor of `db.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.environment` has been deprecated and moved to `deployment.environment.name`. - `jvm`: Rename JVM metric `jvm.buffer.memory.usage` to `jvm.buffer.memory.used` (#288) - `system`: Rename `process.cpu.state`, `container.cpu.state`, and `system.cpu.state` attributes into a common `cpu.mode` attribute (#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 - deprecate `enduser` in favor of a new `user` namespace. Add more `user` attributes. (#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 that `db.query.parameter.` 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`: Rename `gen_ai.usage.prompt_tokens` to `gen_ai.usage.input_tokens` and `gen_ai.usage.completion_tokens` to `gen_ai.usage.output_tokens` to align terminology between spans and metrics. (#1200) - `gen_ai`: Convert `gen_ai.operation.name` to enum and use it on spans (#1202) - `network`: Add QUIC to the list of well known network transports (#1237, #1239) - `db`: `db.query.text` IN-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`: Add `server.address`, `server.port`, and `error.type` to GenAI spans. (#1297) - `gen-ai`: Adding metrics for GenAI clients. (#811) - `gen-ai`: Adding `gen_ai.request.top_k`, `gen_ai.request.presence_penalty`, `gen_ai.request.frequency_penalty` and `gen_ai.request.stop_sequences` attributes. (#839) - `messaging`: Document `messaging.operation.name` for Azure messaging systems. (#942) - `all`: Define name abbreviations guidelines in attribute and metric names. (#1121) - `messaging`: Add pulsar message system (#1099) - `linux`: Add the `system.linux.memory.slab.usage` metric and the `linux.memory.slab.state` attributes. (#531) - `cloudevents`: CloudEvents conventions to follow HTTP/Messaging Span conventions (#654) - `db`: Add support for database batch operations (#712) - `db`: Specify sanitization for `db.query.text`. (#717) - `gen-ai`: Add 3 well-known gen-ai systems as reference values of the gen-ai system attribute (#1020) - `gcp`: Introduces `gcp.client.service` scope attribute. (#1047) - `db`: Add semantic convention of InfluxDB (#949) - `log`: Add 'log.record.original' attribute. (#1137) - `session`: Add new experimental `session.start` and `session.end` events (#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 from `MUST` to `SHOULD`. (#1167, #1003) ## v1.26.0 ### 🛑 Breaking changes 🛑 - `db`: Rename `db.statement` to `db.query.text` and introduce `db.query.parameter.` (#716) - `db`: Renames `db.sql.table`, `db.cassandra.table`, `db.mongodb.collection`, and `db.cosmosdb.container` attributes to `db.collection.name` (#870) - `db`: Rename `db.operation` to `db.operation.name`. (#884) - `messaging`: Rename `messaging.operation` to `messaging.operation.type`, add `messaging.operation.name`. (#890) - `db`: Deprecate the `db.user` attribute. (#885) - `db`: Rename `db.name` and `db.redis.database_index` to `db.namespace`, deprecate `db.mssql.instance_name`. (#885) - `db`: Remove `db.instance.id`. For Elasticsearch, replace with `db.elasticsearch.node.name`. (#972) - `db`: Clarify database span name format and fallback values. (#974, #704) - `db`: Rename `db.client.connections.*` metric namespace to `db.client.connection.*` and rename `db.client.connection.usage` to `db.client.connection.count`. (#201, #967) - `db`: Rename `pool.name` to `db.client.connections.pool.name` and `state` to `db.client.connections.state`. (#909) - `system`: Deprecate `shared` from `system.memory.state` values and make it a standalone metric (#522) - `device.app.lifecycle`: Reformat and update the `device.app.lifecycle` event description adds constraints for the possible values of the `android.state` and `ios.state`. (#794) Removes the `ios.lifecycle.events` and `android.lifecycle.events` attributes from the global registry and adds constraints for the possible values of the `android.state` and `ios.state` attributes. - `messaging`: Rename `messaging.client_id` to `messaging.client.id` (#935) - `rpc`: Rename`message.*` attributes under `rpc` to `rpc.message.*`. Deprecate old `message.*` attributes. (#854) ### 🚀 New components 🚀 - `gen-ai`: Introducing semantic conventions for GenAI clients. (#327) ### 💡 Enhancements 💡 - `all`: Markdown snippets are now generated by jinja templates in the `templates` directory. (#1000) - `db, messaging, gen_ai`: Clarify that `db.system`, `messaging.system`, `gen_ai.system` attributes 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`: Add `db.client.operation.duration` metric (#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 the `templates/` 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`: Add `error.type` attribute 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`: New `url.template` attribute added to URL, HTTP client attributes are extended with optional low-cardinality `url.template` (#675) - `db`: Add note to `db.collection.name`, `db.namespace`, and `db.operation.name` about 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 🧰 - `http`: Add previously deprecated http attributes to registry (#1025) These attributes were deprecated in 1.13 - `net`: Add previously deprecated net attributes to registry (#1029) These attributes were deprecated in 1.13 ## v1.25.0 ### 🛑 Breaking changes 🛑 - `messaging`: Remove `network.transport` and `network.type` attributes from messaging semantic conventions, clarify when `network.peer.address|port` should be populated. (#690, #698) - `db`: Remove `network.transport` and `network.type` attributes from database semantic conventions, clarify when `network.peer.address|port` should be populated. (#690, #768) - `messaging`: Introduce common `messaging.destination.partition.id` instead of `messaging.kafka.destination.partition` (#798) - `host`: [resource/host] Change type of host.cpu.stepping to string (#664, #665) - `system`: Rename `system.processes.*` namespace to `system.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.threads` to `process.thread.count` - Rename `process.open_file_descriptors` to `process.open_file_descriptor.count` - Rename attributes for `process.cpu.*` - `state` to `process.cpu.state` - Change attributes for `process.disk.io` - Instead of `direction` use `disk.io.direction` from global registry - Change attributes for `process.network.io` - Instead of `direction` use `network.io.direction` from global registry - Rename attributes for `process.context_switches` - `type` to `process.context_switch_type` - Rename attributes for `process.paging.faults` - `type` to `process.paging.fault_type` ### 🚩 Deprecations 🚩 - `db`: Deprecate `db.connection_string` attribute in favor of `server.address` and `server.port` (#724, #769) - `db`: Deprecate `db.jdbc.driver_classname` attribute (#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 adds `messaging.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`: Align `system.cpu.state`'s definition with this of `process.cpu.state`. (#563) - `container`: Add new container metrics for `cpu`, `memory`, `disk` and `network` (#282, #72) - `url`: Sensitive content provided in `url.full`, `url.path`, and `url.query` SHOULD 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`: Add `http.request.size` and `http.response.size` attributes 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 for `service.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`: Make `network.protocol.name` conditionally required for messaging (#644) - `cloud`: Add `azure_container_apps` to `cloud.platform` semantic conventions (#615) - `user_agent`: Add `user_agent.name` and `user_agent.version` attributes (#452) - `messaging`: Add an example for gcp_pubsub asynchronous batch publish (#545) - `aws`: Add `aws.ecs.task.id` attribute, corrected description for `aws.ecs.task.arn` (#597) - `messaging`: Add Azure Service Bus and Event Hubs messaging attributes (#572) ### 🧰 Bug fixes 🧰 - `aws-lambda`: Fix problem in `xray-lambda` propagator definition (#778) - `http`: Two fixes to the HTTP semconv migration guide (#802) - `network`: Clarifies that network.protocol.version represents negotiated version (#686) - `jvm`: Fix JVM buffer metric schema translations (#683) ## v1.24.0 (2023-12-15) ### Breaking - Update `jvm.gc.duration` histogram buckets to `[ 0.01, 0.1, 1, 10 ]` ([#317](https://github.com/open-telemetry/semantic-conventions/pull/317)) - BREAKING: Change type of `host.cpu.model.id` and `host.cpu.model.family` to string. ([#499](https://github.com/open-telemetry/semantic-conventions/pull/499)) - Changed `messaging.system` attribute type to an open enum ([#517](https://github.com/open-telemetry/semantic-conventions/pull/517)) - Rename metrics `jvm.memory.usage` to `jvm.memory.used` and `jvm.memory.usage_after_last_gc` to `jvm.memory.used_after_last_gc` ([#536](https://github.com/open-telemetry/semantic-conventions/pull/536)) - BREAKING: Change `event.name` definition to include `namespace` and remove `event.domain` from log event attributes. ([#473](https://github.com/open-telemetry/semantic-conventions/pull/473)) - BREAKING: Change `system.disk.io.direction` and `system.network.io.direction` to global attributes `disk.io.direction` and `network.io.direction` ([#530](https://github.com/open-telemetry/semantic-conventions/pull/530)) - BREAKING: Change `messaging.kafka.partition` to `messaging.kafka.destination.partition` ([#547](https://github.com/open-telemetry/semantic-conventions/pull/547)) ### Features - Adds `labels` attribute to `k8s.pod` resource ([#494](https://github.com/open-telemetry/semantic-conventions/pull/494)) - Change Erlang managed thread attribute to be the Erlang process ([#491](https://github.com/open-telemetry/semantic-conventions/pull/491)) - Add gcp_pubsub as a messaging system ([#490](https://github.com/open-telemetry/semantic-conventions/pull/490)) - Adds `annotation` attribute to `k8s.pod` resource ([#494](https://github.com/open-telemetry/semantic-conventions/pull/573)) - Add `code.stacktrace` attribute ([#435](https://github.com/open-telemetry/semantic-conventions/pull/435)) - Add `http.flavor` and `http.user_agent` to list of deprecated attributes ([#503](https://github.com/open-telemetry/semantic-conventions/pull/503)) - Add Semantic conventions for TLS/SSL encrypted communication. ([#21](https://github.com/open-telemetry/semantic-conventions/pull/21)) - Add `messaging.gcp_pubsub.message.ordering_key` attribute. ([#528](https://github.com/open-telemetry/semantic-conventions/pull/528)) - Define how to set `process.runtime.name`, `process.runtime.version`, `process.runtime.description` for .NET runtime. ([#561](https://github.com/open-telemetry/semantic-conventions/pull/561)) - Add `db.instance.id` attribute. ([#345](https://github.com/open-telemetry/semantic-conventions/pull/345)) - Add messaging metrics ([#163](https://github.com/open-telemetry/semantic-conventions/pull/163)) - Add .NET 8.0 metrics for HTTP client, ASP.NET Core, SignalR server and Kestrel. ([#283](https://github.com/open-telemetry/semantic-conventions/pull/283)) - Add system shared IO direction attributes ([#530](https://github.com/open-telemetry/semantic-conventions/pull/530)) - JVM metrics marked stable ([#569](https://github.com/open-telemetry/semantic-conventions/pull/569)) - Add attribute for k8s pod annotations ([#573](https://github.com/open-telemetry/semantic-conventions/pull/573)) - Replace AWS X-Ray Environment Span Link section with AWS X-Ray Active Tracing Considerations ([#354](https://github.com/open-telemetry/semantic-conventions/pull/354)) ### Fixes - Remove misleading pluralization wording related to count metrics ([#488](https://github.com/open-telemetry/semantic-conventions/pull/488)) - Remove no longer relevant Oct 1 mention from `OTEL_SEMCONV_STABILITY_OPT_IN` ([#541](https://github.com/open-telemetry/semantic-conventions/pull/541)) - Update stability definitions of HTTP client and server duration metrics to be consistent with markdown. ([#587](https://github.com/open-telemetry/semantic-conventions/pull/587)) - Use `deprecated` property to mark attributes as deprecated instead of `stability` ([#588](https://github.com/open-telemetry/semantic-conventions/pull/588)) ## v1.23.1 (2023-11-17) ### Breaking ### Features ### Fixes - [backport to 1.23.x] Temp fix for separation of resource and semantic attributes ([#524](https://github.com/open-telemetry/semantic-conventions/pull/524)) via ([#537](https://github.com/open-telemetry/semantic-conventions/pull/537)) ## v1.23.0 (2023-11-03) 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](https://github.com/open-telemetry/semantic-conventions/pull/374)) - BREAKING: Change `network.protocol.name` from recommended to opt-in in HTTP semconv. ([#398](https://github.com/open-telemetry/semantic-conventions/pull/398)) - BREAKING: Define url.scheme in terms of logical operation in HTTP server semconv. ([#376](https://github.com/open-telemetry/semantic-conventions/pull/376)) - BREAKING: Change `network.transport` from recommended to opt-in in HTTP semconv. ([#402](https://github.com/open-telemetry/semantic-conventions/pull/402)) - BREAKING: Change `network.type` from recommended to opt-in in HTTP semconv. ([#410](https://github.com/open-telemetry/semantic-conventions/pull/410)) - BREAKING: Factor in `X-Forwarded-Host` / `Forwarded` when capturing `server.address` and `server.port`. ([#411](https://github.com/open-telemetry/semantic-conventions/pull/411)) - Remove `thread.daemon`, and introduce `jvm.thread.daemon` instead. Introduce `jvm.thread.state` attribute and add it to `jvm.thread.count` metric. ([#297](https://github.com/open-telemetry/semantic-conventions/pull/297)) - Fix `server.port` to be not required when `server.address` is not set. ([#429](https://github.com/open-telemetry/semantic-conventions/pull/429)) - Use seconds as default duration for FaaS duration histograms ([#384](https://github.com/open-telemetry/semantic-conventions/pull/384)) - BREAKING: Remove `total` from list of well-known values of `system.memory.state` attribute. ([#409](https://github.com/open-telemetry/semantic-conventions/pull/409)) - Remove `url.path` default value. ([#462](https://github.com/open-telemetry/semantic-conventions/pull/462)) - Remove conditional requirement on `network.peer.address` and `network.peer.port` ([#449](https://github.com/open-telemetry/semantic-conventions/pull/449)) - Change `user_agent.original` from recommended to opt-in on HTTP client spans. ([#468](https://github.com/open-telemetry/semantic-conventions/pull/468)) - Change `http.request.body.size` and `http.response.body.size` from recommended to opt-in. ([#460](https://github.com/open-telemetry/semantic-conventions/pull/460)) - Clarify that `client.port` is the port of whichever client was captured in `client.address`. ([#471](https://github.com/open-telemetry/semantic-conventions/pull/471)) - Change `client.port` from recommended to opt-in on HTTP server spans ([#472](https://github.com/open-telemetry/semantic-conventions/pull/472)) - BREAKING: Make `url.scheme` opt_in for HTTP client and remove default value for `server.port` making it required on the client. ([#459](https://github.com/open-telemetry/semantic-conventions/pull/459)) - Make `client.address` sampling relevant on HTTP server spans. ([#469](https://github.com/open-telemetry/semantic-conventions/pull/469)) - Change `network.protocol.name` from opt-in to conditionally required. ([#478](https://github.com/open-telemetry/semantic-conventions/pull/478)) - Remove outdated `http.request.header.host` guidance ([#479](https://github.com/open-telemetry/semantic-conventions/pull/479)) - Change sampling relevant from `MUST` to `SHOULD` ([#486](https://github.com/open-telemetry/semantic-conventions/pull/486)) - Make `user_agent.original` and `http.request.header.*` sampling relevant on HTTP server spans. ([#467](https://github.com/open-telemetry/semantic-conventions/pull/467)) ### Features - Adds `session.previous_id` to session.md ([#348](https://github.com/open-telemetry/semantic-conventions/pull/348)) - Metric namespaces SHOULD NOT be pluralized. ([#267](https://github.com/open-telemetry/opentelemetry-specification/pull/267)) - Add opt-in `system.memory.limit` metric. ([#409](https://github.com/open-telemetry/semantic-conventions/pull/409)) - Add `host.mac` resource attribute convention. ([#340](https://github.com/open-telemetry/semantic-conventions/pull/340)) - Mark HTTP semantic conventions as stable. ([#377](https://github.com/open-telemetry/semantic-conventions/pull/377)) ### Fixes - Clarify that `error.type` should be the fully-qualified exception class name when it represents an exception type. ([#387](https://github.com/open-telemetry/semantic-conventions/pull/387)) - Add cardinality warning about two opt-in HTTP metric attributes ([#401](https://github.com/open-telemetry/semantic-conventions/pull/401)) - Change `server.port` from recommended to conditionally required on HTTP server semconv. ([#399](https://github.com/open-telemetry/semantic-conventions/pull/399)) - Add cardinality warning about two opt-in HTTP metric attributes to all HTTP metrics. ([#412](https://github.com/open-telemetry/semantic-conventions/pull/412)) - Remove outdated note about not recording HTTP `server.address` when only IP address available. ([#413](https://github.com/open-telemetry/semantic-conventions/pull/413)) - Clarify HTTP server definitions and `server.address|port` notes. ([#423](https://github.com/open-telemetry/semantic-conventions/pull/423)) - Change the precedence between `:authority` and `Host` headers when populating `server.address` and `server.port` attributes. ([#455](https://github.com/open-telemetry/semantic-conventions/pull/455)) - Explain `deployment.environment` impact on service identity. ([#481](https://github.com/open-telemetry/semantic-conventions/pull/481)) ## v1.22.0 (2023-10-12) - Remove experimental Kafka metrics ([#338](https://github.com/open-telemetry/semantic-conventions/pull/338)) - Adds `session.id` and session.md to general docs and model ([#215](https://github.com/open-telemetry/semantic-conventions/pull/215)) - Add `container.labels.` attributes. ([#125](https://github.com/open-telemetry/semantic-conventions/pull/125)) - Add `cluster.name` and `node.name` attributes to Elasticsearch semantic conventions. ([#285](https://github.com/open-telemetry/semantic-conventions/pull/285)) - Fix the unit of metric.process.runtime.jvm.system.cpu.load_1m to be {run_queue_item} ([#95](https://github.com/open-telemetry/semantic-conventions/pull/95)) - Update `.count` metric naming convention so that it only applies to UpDownCounters, and add that `.total` should not be used by either Counters or UpDownCounters ([#107](https://github.com/open-telemetry/semantic-conventions/pull/107)) - Add `oci.manifest.digest`, `container.image.repo_digests` attributes. Make `container.image.tag` array and in plural form. ([#159](https://github.com/open-telemetry/semantic-conventions/pull/159)) - BREAKING: Rename `http.client.duration` and `http.server.duration` metrics to `http.client.request.duration` and `http.server.request.duration` respectively. ([#224](https://github.com/open-telemetry/semantic-conventions/pull/224)) - Update HTTP `network.protocol.version` examples to match HTTP RFCs. ([#228](https://github.com/open-telemetry/semantic-conventions/pull/228)) - Re-introduce namespace and attributes to describe the original destination messages were published to (`messaging.destination_publish.*`). ([#156](https://github.com/open-telemetry/semantic-conventions/pull/156)) - Generate FaaS metric semantic conventions from YAML. ([#88](https://github.com/open-telemetry/semantic-conventions/pull/88)) The conventions cover metrics that are recorded by the FaaS itself and not by clients invoking them. - BREAKING: Rename all JVM metrics from `process.runtime.jvm.*` to `jvm.*` ([#241](https://github.com/open-telemetry/semantic-conventions/pull/241)) - BREAKING: Add namespaces to JVM metric attributes ([#20](https://github.com/open-telemetry/semantic-conventions/pull/20)). - Rename attributes `type` to `jvm.memory.type`, `pool` to `jvm.memory.pool.name` - Applies to metrics: - `jvm.memory.usage` - `jvm.memory.init` - `jvm.memory.committed` - `jvm.memory.limit` - `jvm.memory.usage_after_last_gc` - Rename attributes `gc` to `jvm.gc.name`, `action` to `jvm.gc.action` - Applies to metrics: - `jvm.gc.duration` - Rename attribute `daemon` to `thread.daemon` - Applies to metrics: - `jvm.threads.count` - Rename attribute `pool` to `jvm.buffer.pool.name` - Applies to metrics: - `jvm.buffer.usage` - `jvm.buffer.limit` - `jvm.buffer.count` - Clarify that `http/dup` has higher precedence than `http` in case both values are present in `OTEL_SEMCONV_STABILITY_OPT_IN` ([#249](https://github.com/open-telemetry/semantic-conventions/pull/249)) - Add `jvm.cpu.count` metric. ([#52](https://github.com/open-telemetry/semantic-conventions/pull/52)) - BREAKING: Rename metrics `jvm.buffer.usage` to `jvm.buffer.memory.usage` and `jvm.buffer.limit` to `jvm.buffer.memory.limit`. ([#253](https://github.com/open-telemetry/semantic-conventions/pull/253)) - BREAKING: Rename `jvm.classes.current_loaded` metrics to `jvm.classes.count` ([#60](https://github.com/open-telemetry/semantic-conventions/pull/60)) - BREAKING: Remove pluralization from JVM metric namespaces. ([#252](https://github.com/open-telemetry/semantic-conventions/pull/252)) - Simplify HTTP metric briefs. ([#276](https://github.com/open-telemetry/semantic-conventions/pull/276)) - Add host cpu resource attributes. ([#209](https://github.com/open-telemetry/semantic-conventions/pull/209)) - Introduce `error.type` attribute and use it in HTTP conventions ([#205](https://github.com/open-telemetry/semantic-conventions/pull/205)) - BREAKING: Change HTTP span name when method is unknown (use `HTTP` instead of `_OTHER`) ([#270](https://github.com/open-telemetry/semantic-conventions/pull/270)) - Moved RPC streaming notes from metric brief section to notes section. ([#275](https://github.com/open-telemetry/semantic-conventions/pull/275)) - Updates `client.address` to allow domain names for consistency with `server.address`. ([#302](https://github.com/open-telemetry/semantic-conventions/pull/302)) - BREAKING: Generate System metrics semconv from YAML. ([#89](https://github.com/open-telemetry/semantic-conventions/pull/89)) - Rename attributes for `system.cpu.*` metrics: - `state` to `system.cpu.state` - `cpu` to `system.cpu.logical_number` - Rename attributes for `system.memory.*` metrics: - `state` to `system.memory.state` - Rename attributes for `system.paging.*` metrics: - `state` to `system.paging.state` - `type` to `system.paging.type` - `direction` to `system.paging.direction` - Rename attributes for `system.disk.*` metrics: - `device` to `system.device` - `direction` to `system.disk.direction` - Rename attributes for `system.filesystem.*` metrics: - `device` to `system.device` - `state` to `system.filesystem.state` - `type` to `system.filesystem.type` - `mode` to `system.filesystem.mode` - `mountpoint` to `system.filesystem.mountpoint` - Rename attributes for `system.network.*` metrics: - `device` to `system.device` - `direction` to `system.network.direction` - `protocol` to `network.protocol` - `state` to `system.network.state` - Rename attributes for `system.processes.*` metrics: - `status` to `system.processes.status` - BREAKING: Rename `messaging.message.payload_size_bytes` to `messaging.message.body.size`, remove `messaging.message.payload_compressed_size_bytes`. ([#229](https://github.com/open-telemetry/semantic-conventions/pull/229)) - Add `system.linux.memory.available` metric. ([#323](https://github.com/open-telemetry/semantic-conventions/pull/323)) - BREAKING: Rename `http.server.request.size` metric to `http.server.request.body.size` and `http.server.response.size` metric to `http.server.response.body.size` ([#247](https://github.com/open-telemetry/semantic-conventions/pull/247)) - Move non-`network.*` attributes out of network.yaml. ([#296](https://github.com/open-telemetry/semantic-conventions/pull/296)) - Introducing Android `android.os.api_level` resource attribute. ([#328](https://github.com/open-telemetry/semantic-conventions/pull/328)) - Added `os.build_id` resource attribute. ([#293](https://github.com/open-telemetry/semantic-conventions/pull/293)) - BREAKING: Remove the zero bucket boundary from `http.server.request.duration` and `http.client.request.duration`. ([#318](https://github.com/open-telemetry/semantic-conventions/pull/318)) - Encourage setting `network.transport` when reporting port numbers ([#289](https://github.com/open-telemetry/semantic-conventions/pull/289)) - BREAKING: Add `url.scheme` to `http.client.*` metrics ([#357](https://github.com/open-telemetry/semantic-conventions/pull/357)) - BREAKING: Remove `server.socket.address` from HTTP and RPC client metrics. ([#350](https://github.com/open-telemetry/semantic-conventions/pull/350)) - Improve network attribute briefs. ([#352](https://github.com/open-telemetry/semantic-conventions/pull/352)) - Document the difference between host and system metrics ([#324](https://github.com/open-telemetry/semantic-conventions/pull/324)) - BREAKING: Rename `telemetry.auto.version` resource attribute to `telemetry.distro.version` and add `telemetry.distro.name` resource attribute ([#178](https://github.com/open-telemetry/semantic-conventions/pull/178)) - Add `system.cpu.frequency` metric. ([#337](https://github.com/open-telemetry/semantic-conventions/pull/337)) - Improve HTTP metric briefs. ([#366](https://github.com/open-telemetry/semantic-conventions/pull/366)) - Add `host.ip` resource attribute convention. ([#203](https://github.com/open-telemetry/semantic-conventions/pull/203)) - BREAKING: remove `-` to `_` normalization from http header and rpc metadata attribute keys. ([#369](https://github.com/open-telemetry/semantic-conventions/pull/369)) - BREAKING: Rename/replace `(client|server).socket.(address|port)` attributes with `network.(peer|local).(address|port)`. ([#342](https://github.com/open-telemetry/semantic-conventions/pull/342)) - Make `network.protocol.name|version` description consistent between HTTP spans and metrics. ([#367](https://github.com/open-telemetry/semantic-conventions/pull/367)) ## v1.21.0 (2023-07-13) Note: This is the first release of Semantic Conventions separate from the Specification. - Add GCP Bare Metal Solution as a cloud platform ([#64](https://github.com/open-telemetry/semantic-conventions/pull/64)) - Clarify the scope of the HTTP client span. ([#3290](https://github.com/open-telemetry/opentelemetry-specification/pull/3290)) - Add moratorium on relying on schema transformations for telemetry stability ([#3380](https://github.com/open-telemetry/opentelemetry-specification/pull/3380)) - Mark "Instrumentation Units" and "Instrumentation Types" sections of the general metric semantic conventions as stable ([#3294](https://github.com/open-telemetry/opentelemetry-specification/pull/3294)) - Add clarification that UCUM c/s variant applies to all units other than `1` and those using [annotations](https://ucum.org/ucum.html#para-curly). ([#3393](https://github.com/open-telemetry/opentelemetry-specification/pull/3393)) - Specify that seconds should be used for measuring durations. ([#3388](https://github.com/open-telemetry/opentelemetry-specification/pull/3388)) - Change http.server.duration and http.client.duration units to seconds ([#3390](https://github.com/open-telemetry/opentelemetry-specification/pull/3390)) - BREAKING: Remove `messaging.consumer.id`, make `messaging.client_id` generic ([#3336](https://github.com/open-telemetry/opentelemetry-specification/pull/3336)) - Add transition plan for upcoming breaking changes to the unstable HTTP semantic conventions. ([#3443](https://github.com/open-telemetry/opentelemetry-specification/pull/3443)) - Rename `net.peer.*`, `net.host.*`, and `net.sock.*` attributes to align with ECS ([#3402](https://github.com/open-telemetry/opentelemetry-specification/pull/3402)) BREAKING: rename `net.peer.name` to `server.address` on client side and to `client.address` on server side, `net.peer.port` to `server.port` on client side and to `client.port` on server side, `net.host.name` and `net.host.port` to `server.address` and `server.port` (since `net.host.*` attributes only applied to server instrumentation), `net.sock.peer.addr` to `server.socket.address` on client side and to `client.socket.address` on server side, `net.sock.peer.port` to `server.socket.port` on client side and to `client.socket.port` on server side, `net.sock.peer.name` to `server.socket.domain` (since `net.sock.peer.name` only applied to client instrumentation), `net.sock.host.addr` to `server.socket.address` (since `net.sock.host.*` only applied to server instrumentation), `net.sock.host.port` to `server.socket.port` (similarly since `net.sock.host.*` only applied to server instrumentation), `http.client_ip` to `client.address` - BREAKING: Introduce `network.transport` defined as [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). Introduce `network.type` defined as [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. Remove `net.transport` and `net.sock.family`. Rename `net.protocol.*` to `network.protocol.*`, `net.host.connection.*` to `network.connection.*`, and `net.host.carrier.*` to `network.carrier.*`. ([#3426](https://github.com/open-telemetry/opentelemetry-specification/pull/3426)) - BREAKING: Adopt ECS attributes in HTTP semantic conventions. Renames: `http.method` to `http.request.method`, `http.status_code` to `http.response.status_code`, `http.request_content_length` to `http.request.body.size`, `http.response_content_length` to `http.response.body.size`, `http.url` to `url.full`, `http.scheme` to `url.scheme`, and removes `http.target` breaking it down to `http.target` to `url.path`, `url.query`, and `url.fragment`. ([#3355](https://github.com/open-telemetry/opentelemetry-specification/pull/3355)) - Add `gcp.cloud_run.job.execution` and `gcp.cloud_run.job.task_id` resource attributes for GCP Cloud Run Jobs ([#3378](https://github.com/open-telemetry/opentelemetry-specification/pull/3378)) - Specify second unit (`s`) and advice bucket boundaries of `[]` for `process.runtime.jvm.gc.duration`. ([#3458](https://github.com/open-telemetry/opentelemetry-specification/pull/3458)) - Specify the value range for JVM CPU metrics. ([#13](https://github.com/open-telemetry/semantic-conventions/pull/13)) - Rename `process.runtime.jvm.cpu.utilization` to `process.runtime.jvm.cpu.recent_utilization`. ([#53](https://github.com/open-telemetry/semantic-conventions/pull/53)) - Clarify `process.runtime.jvm.threads.count` refers to platform threads. ([#54](https://github.com/open-telemetry/semantic-conventions/pull/54)) - Add `gcp.gce.instance.name` and `gcp.gce.instance.hostname` resource attributes for GCP Compute Engine VMs. ([#15](https://github.com/open-telemetry/semantic-conventions/pull/15)) - Add note that HTTP duration metrics should match HTTP span duration. ([#69](https://github.com/open-telemetry/semantic-conventions/pull/69)) - Clarify when HTTP client spans should end. ([#70](https://github.com/open-telemetry/semantic-conventions/pull/70)) - Clarify that OTEL_SEMCONV_STABILITY_OPT_IN is a comma-separated list of values ([#104](https://github.com/open-telemetry/semantic-conventions/pull/104)) - Add `process.runtime.jvm.cpu.time` metric. ([#55](https://github.com/open-telemetry/semantic-conventions/pull/55)) - Split out sections for proposed stable JVM metrics and experimental JVM metrics. ([#56](https://github.com/open-telemetry/semantic-conventions/pull/56)) - Make `url.query` conditionally required for HTTP spans. ([#118](https://github.com/open-telemetry/semantic-conventions/pull/118)) - Change `server.address` and `server.port` requirement levels on HTTP server metrics from `required` to `opt_in`. ([#109](https://github.com/open-telemetry/semantic-conventions/pull/109)) - Updated AWS Java Lambda guidance - using system properties. ([#27](https://github.com/open-telemetry/semantic-conventions/pull/27)) - Limit `http.request.method` values to a closed set of known values, introduce `http.request.method_original` for the original value. ([#17](https://github.com/open-telemetry/semantic-conventions/pull/17)) - Mark service.version as stable. ([#106](https://github.com/open-telemetry/semantic-conventions/pull/106)) - Mark initial set of HTTP semantic conventions as frozen ([#105](https://github.com/open-telemetry/semantic-conventions/pull/105)) - BREAKING: Remove `messaging.source.*` attributes and use `messaging.destination.*` attributes on producer and consumer to describe messaging queue or topic. ([#100](https://github.com/open-telemetry/semantic-conventions/pull/100)) - Mark `process.runtime.jvm.system.cpu.load_1m` and `process.runtime.jvm.system.cpu.utilization` metrics as opt-in. ([#57](https://github.com/open-telemetry/semantic-conventions/pull/57)) - Add container `image.id`, `command`, `command_line` and `command_args` resource attributes. ([#39](https://github.com/open-telemetry/semantic-conventions/pull/39)) - Add Elasticsearch client semantic conventions. ([#23](https://github.com/open-telemetry/semantic-conventions/pull/23)) - Add YAML definitions for log semantic conventions and define requirement levels ([#133](https://github.com/open-telemetry/semantic-conventions/pull/133)) - Add markdown file for url semantic conventions ([#174](https://github.com/open-telemetry/semantic-conventions/pull/174)) - Add `system.cpu.physical.count` and `system.cpu.logical.count` metrics. ([#99](https://github.com/open-telemetry/opentelemetry-specification/pull/99)) ## v1.20.0 (2023-04-07) This and earlier versions were released as part of [the Specification](https://github.com/open-telemetry/opentelemetry-specification/). See [the specification changelog](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/CHANGELOG.md) if you'd like to `git blame` a changelog entry. - Clarify that attribute requirement levels apply to the instrumentation library ([#3289](https://github.com/open-telemetry/opentelemetry-specification/pull/3289)) - Fix grammatical number of metric units. ([#3298](https://github.com/open-telemetry/opentelemetry-specification/pull/3298)) - Rename `net.app.protocol.(name|version)` to `net.protocol.(name|version)` ([#3272](https://github.com/open-telemetry/opentelemetry-specification/pull/3272)) - Replace `http.flavor` with `net.protocol.(name|version)` ([#3272](https://github.com/open-telemetry/opentelemetry-specification/pull/3272)) - Metric requirement levels are now stable ([#3271](https://github.com/open-telemetry/opentelemetry-specification/pull/3271)) - BREAKING: remove `messaging.destination.kind` and `messaging.source.kind`. ([#3214](https://github.com/open-telemetry/opentelemetry-specification/pull/3214), [#3348](https://github.com/open-telemetry/opentelemetry-specification/pull/3348)) - Define attributes collected for `cosmosdb` by Cosmos DB SDK ([#3097](https://github.com/open-telemetry/opentelemetry-specification/pull/3097)) - Clarify stability requirements of semantic conventions ([#3225](https://github.com/open-telemetry/opentelemetry-specification/pull/3225)) - BREAKING: Change span statuses for gRPC server spans. ([#3333](https://github.com/open-telemetry/opentelemetry-specification/pull/3333)) - Stabilize key components of `service.*` and `telemetry.sdk.*` resource semantic conventions. ([#3202](https://github.com/open-telemetry/opentelemetry-specification/pull/3202)) - Fixed attributes requirement level in semantic conventions for hardware metrics ([#3258](https://github.com/open-telemetry/opentelemetry-specification/pull/3258)) - Added AWS S3 semantic conventions. ([#3251](https://github.com/open-telemetry/opentelemetry-specification/pull/3251)) - Fix units in the Kafka metric semantic conventions. ([#3300](https://github.com/open-telemetry/opentelemetry-specification/pull/3300)) - Add Trino to Database specific conventions ([#3347](https://github.com/open-telemetry/opentelemetry-specification/pull/3347)) - Change `db.statement` to only be collected if there is sanitization. ([#3127](https://github.com/open-telemetry/opentelemetry-specification/pull/3127)) - BREAKING: Remove `http.status_code` attribute from the `http.server.active_requests` metric. ([#3366](https://github.com/open-telemetry/opentelemetry-specification/pull/3366)) - Mark attribute requirement levels as stable ([#3368](https://github.com/open-telemetry/opentelemetry-specification/pull/3368)) ## v1.19.0 (2023-03-06) - Move X-Ray Env Variable propagation to span link instead of parent for AWS Lambda. ([#3166](https://github.com/open-telemetry/opentelemetry-specification/pull/3166)) - Add heroku resource semantic conventions. [#3075](https://github.com/open-telemetry/opentelemetry-specification/pull/3075) - BREAKING: Rename faas.execution to faas.invocation_id ([#3209](https://github.com/open-telemetry/opentelemetry-specification/pull/3209)) - BREAKING: Change faas.max_memory units to Bytes instead of MB ([#3209](https://github.com/open-telemetry/opentelemetry-specification/pull/3209)) - BREAKING: Expand scope of faas.id to cloud.resource_id ([#3188](https://github.com/open-telemetry/opentelemetry-specification/pull/3188)) - Add Connect RPC specific conventions ([#3116](https://github.com/open-telemetry/opentelemetry-specification/pull/3116)) - Rename JVM metric attribute value from `nonheap` to `non_heap` ([#3250](https://github.com/open-telemetry/opentelemetry-specification/pull/3250)) - Mark the attribute naming guidelines in the specification as stable. ([#3220](https://github.com/open-telemetry/opentelemetry-specification/pull/3220)) - Mark telemetry schema readme stable. ([#3221](https://github.com/open-telemetry/opentelemetry-specification/pull/3221)) - Remove mention of `net.transport` from HTTP semantic conventions ([#3244](https://github.com/open-telemetry/opentelemetry-specification/pull/3244)) - Clarifies that if an HTTP client request is explicitly made to an IP address, e.g. `http://x.x.x.x:8080`, then `net.peer.name` SHOULD be the IP address `x.x.x.x` ([#3276](https://github.com/open-telemetry/opentelemetry-specification/pull/3276)) - Mark `net.sock.host.port` as conditionally required. ([#3246](https://github.com/open-telemetry/opentelemetry-specification/pull/3246)) - Rename Optional attribute requirement level to Opt-In. ([#3228](https://github.com/open-telemetry/opentelemetry-specification/pull/3228)) - Rename `http.user_agent` to `user_agent.original`. ([#3190](https://github.com/open-telemetry/opentelemetry-specification/pull/3190)) - Expand the declaration of `pool.name`. ([#3050](https://github.com/open-telemetry/opentelemetry-specification/pull/3050)) ## v1.18.0 (2023-02-09) - Add Cloud Spanner and Microsoft SQL Server Compact to db.system semantic conventions ([#3105](https://github.com/open-telemetry/opentelemetry-specification/pull/3105)). - Enable semantic convention tooling for metrics in spec ([#3119](https://github.com/open-telemetry/opentelemetry-specification/pull/3119)) - Rename google openshift platform attribute from `google_cloud_openshift` to `gcp_openshift` to match the existing `cloud.provider` prefix. ([#3095](https://github.com/open-telemetry/opentelemetry-specification/pull/3095)) - Changes http server span names from `{http.route}` to `{http.method} {http.route}` (when route is available), and from `HTTP {http.method}` to `{http.method}` (when route is not available). Changes http client span names from `HTTP {http.method}` to `{http.method}`. ([#3165](https://github.com/open-telemetry/opentelemetry-specification/pull/3165)) - Mark `http.server.duration` and `http.client.duration` metrics as required, and mark all other HTTP metrics as optional. [#3158](https://github.com/open-telemetry/opentelemetry-specification/pull/3158) - Add `net.host.port` to `http.server.active_requests` metrics attributes. [#3158](https://github.com/open-telemetry/opentelemetry-specification/pull/3158) - `http.route` SHOULD contain the "application root" if there is one. ([#3164](https://github.com/open-telemetry/opentelemetry-specification/pull/3164)) ## v1.17.0 (2023-01-17) - Clarify common HTTP attributes apply to both clients and servers ([#3044](https://github.com/open-telemetry/opentelemetry-specification/pull/3044)) - Add `code.lineno` source code attribute ([#3029](https://github.com/open-telemetry/opentelemetry-specification/pull/3029)) - Add ClickHouse to db.system semantic conventions ([#3011](https://github.com/open-telemetry/opentelemetry-specification/pull/3011)) - Refactor messaging attributes and per-message attributes in batching scenarios. ([#2957](https://github.com/open-telemetry/opentelemetry-specification/pull/2957)). BREAKING: rename `messaging.consumer_id` to `messaging.consumer.id`, `messaging.destination` to `messaging.destination.name`, `messaging.temp_destination` to `messaging.destination.temporary`, `messaging.destination_kind` to `messaging.destination.kind`, `messaging.message_id` to `messaging.message.id`, `messaging.protocol` to `net.app.protocol.name`, `messaging.protocol_version`, `net.app.protocol.version`, `messaging.conversation_id` to `messaging.message.conversation_id`, `messaging.message_payload_size_bytes` to `messaging.message.payload_size_bytes`, `messaging.message_payload_compressed_size_bytes` to `messaging.message.payload_compressed_size_bytes`, `messaging.rabbitmq.routing_key`: `messaging.rabbitmq.destination.routing_key`, `messaging.kafka.message_key` to `messaging.kafka.message.key`, `messaging.kafka.consumer_group` to `messaging.kafka.consumer.group`, `messaging.kafka.partition` to `messaging.kafka.destination.partition`, `messaging.kafka.tombstone` to `messaging.kafka.message.tombstone`, `messaging.rocketmq.message_type` to `messaging.rocketmq.message.type`, `messaging.rocketmq.message_tag` to `messaging.rocketmq.message.tag`, `messaging.rocketmq.message_keys` to `messaging.rocketmq.message.keys`; Removed `messaging.url`; Renamed `send` operation to `publish`; Split `destination` and `source` namespaces and clarify per-message attributes in batching scenarios. ## v1.16.0 (2022-12-08) - Add `process.runtime.jvm.gc.duration` metric to semantic conventions. ([#2903](https://github.com/open-telemetry/opentelemetry-specification/pull/2903)) - Make http.status_code metric attribute an int. ([#2943](https://github.com/open-telemetry/opentelemetry-specification/pull/2943)) - Add IBM Cloud as a cloud provider. ([#2965](https://github.com/open-telemetry/opentelemetry-specification/pull/2965)) - Add semantic conventions for Feature Flags ([#2529](https://github.com/open-telemetry/opentelemetry-specification/pull/2529)) - Rename `rpc.request.metadata.` and `rpc.response.metadata.` to `rpc.grpc.request.metadata.` and `rpc.grpc.response.metadata.` ([#2981](https://github.com/open-telemetry/opentelemetry-specification/pull/2981)) - List the machine-id as potential source for a unique host.id ([#2978](https://github.com/open-telemetry/opentelemetry-specification/pull/2978)) - Add `messaging.kafka.message.offset` attribute. ([#2982](https://github.com/open-telemetry/opentelemetry-specification/pull/2982)) - Update hardware metrics to use `direction` as per general semantic conventions ([#2942](https://github.com/open-telemetry/opentelemetry-specification/pull/2942)) ## v1.15.0 (2022-11-09) - Change to messaging.kafka.max.lag from UpDownCounter to Gauge (and rename it) ([#2837](https://github.com/open-telemetry/opentelemetry-specification/pull/2837)) - Add daemon attribute to jvm threads metric ([#2828](https://github.com/open-telemetry/opentelemetry-specification/pull/2828)) - Add gRPC request and response metadata semantic conventions ([#2874](https://github.com/open-telemetry/opentelemetry-specification/pull/2874)) - Add `process.paging.faults` metric to semantic conventions ([#2827](https://github.com/open-telemetry/opentelemetry-specification/pull/2827)) - Define semantic conventions yaml for non-otlp conventions ([#2850](https://github.com/open-telemetry/opentelemetry-specification/pull/2850)) - Add more semantic convention attributes of Apache RocketMQ ([#2881](https://github.com/open-telemetry/opentelemetry-specification/pull/2881)) - Add `process.runtime.jvm.memory.usage_after_last_gc` metric to semantic conventions. ([#2901](https://github.com/open-telemetry/opentelemetry-specification/pull/2901)) ## v1.14.0 (2022-10-04) - Add `process.context_switches`, and `process.open_file_descriptors`, to the metrics semantic conventions ([#2706](https://github.com/open-telemetry/opentelemetry-specification/pull/2706)) - Add exceptions to the logs semantic conventions ([#2819](https://github.com/open-telemetry/opentelemetry-specification/pull/2819)) - Make context propagation requirements explicit for messaging semantic conventions ([#2750](https://github.com/open-telemetry/opentelemetry-specification/pull/2750)). - Update http metrics to use `http.route` instead of `http.target` for servers, drop `http.url` for clients ([#2818](https://github.com/open-telemetry/opentelemetry-specification/pull/2818)). ## v1.13.0 (2022-09-19) - Add `net.app.protocol.*` attributes ([#2602](https://github.com/open-telemetry/opentelemetry-specification/pull/2602)) - Add network metrics to process semantic conventions ([#2556](https://github.com/open-telemetry/opentelemetry-specification/pull/2556)) - Adopt attribute requirement levels in semantic conventions ([#2594](https://github.com/open-telemetry/opentelemetry-specification/pull/2594)) - Add semantic conventions for GraphQL ([#2456](https://github.com/open-telemetry/opentelemetry-specification/pull/2456)) - Change `cloudevents.event_spec_version` and `cloudevents.event_type` level from `required` to `recommended` ([#2618](https://github.com/open-telemetry/opentelemetry-specification/pull/2618)) - Change `faas.document.time` and `faas.time` level from `required` to `recommended` ([#2627](https://github.com/open-telemetry/opentelemetry-specification/pull/2627)) - Add `rpc.grpc.status_code` to RPC metric semantic conventions ([#2604](https://github.com/open-telemetry/opentelemetry-specification/pull/2604)) - Add `http.*.*.size` metric semantic conventions for tracking size of requests / responses for http servers / clients ([#2588](https://github.com/open-telemetry/opentelemetry-specification/pull/2588)) - BREAKING: rename `net.peer.ip` to `net.sock.peer.addr`, `net.host.ip` to `net.sock.host.addr`, `net.peer.name` to `net.sock.peer.name` for socket-level instrumentation. Define socket-level attributes and clarify logical peer and host attributes meaning ([#2594](https://github.com/open-telemetry/opentelemetry-specification/pull/2594)) - Add semantic conventions for JVM buffer pool usage ([#2650](https://github.com/open-telemetry/opentelemetry-specification/pull/2650)) - Improve the definition of `state` attribute for metric `system.network.connections` ([#2663](https://github.com/open-telemetry/opentelemetry-specification/pull/2663)) - Add `process.parent_pid` attribute for use in reporting parent process id (PID) ([#2691](https://github.com/open-telemetry/opentelemetry-specification/pull/2691)) - Add OpenSearch to db.system semantic conventions ([#2718](https://github.com/open-telemetry/opentelemetry-specification/pull/2718)) - Clarify when "count" is used instead of pluralization ([#2613](https://github.com/open-telemetry/opentelemetry-specification/pull/2613)) - Add the convention 'type' to the YAML definitions for all existing semantic conventions ([#2693](https://github.com/open-telemetry/opentelemetry-specification/pull/2693)) - Remove alternative attribute sets from HTTP semantic conventions ([#2469](https://github.com/open-telemetry/opentelemetry-specification/pull/2469)) ## v1.12.0 (2022-06-10) - Add semantic conventions for JVM CPU metrics ([#2292](https://github.com/open-telemetry/opentelemetry-specification/pull/2292)) - Add details for FaaS conventions for Azure Functions and allow FaaS/Cloud resources as span attributes on incoming FaaS spans ([#2502](https://github.com/open-telemetry/opentelemetry-specification/pull/2502)) - Define attribute requirement levels ([#2522](https://github.com/open-telemetry/opentelemetry-specification/pull/2522)) - Initial addition of Kafka metrics ([#2485](https://github.com/open-telemetry/opentelemetry-specification/pull/2485)). - Add semantic conventions for Kafka consumer metrics ([#2536](https://github.com/open-telemetry/opentelemetry-specification/pull/2536)) - Add database connection pool metrics semantic conventions ([#2273](https://github.com/open-telemetry/opentelemetry-specification/pull/2273)). - Specify how to obtain a Ruby thread's id ([#2508](https://github.com/open-telemetry/opentelemetry-specification/pull/2508)). - Refactor jvm classes semantic conventions ([#2550](https://github.com/open-telemetry/opentelemetry-specification/pull/2550)). - Add browser.\* attributes ([#2353](https://github.com/open-telemetry/opentelemetry-specification/pull/2353)). - Change JVM runtime metric `process.runtime.jvm.memory.max` to `process.runtime.jvm.memory.limit` ([#2605](https://github.com/open-telemetry/opentelemetry-specification/pull/2605)). - Add semantic conventions for hardware metrics ([#2518](https://github.com/open-telemetry/opentelemetry-specification/pull/2518)). ## v1.11.0 (2022-05-04) - Note added that `net.peer.name` SHOULD NOT be set if capturing it would require an extra reverse DNS lookup. And moved `net.peer.name` from common http attributes to just client http attributes. ([#2446](https://github.com/open-telemetry/opentelemetry-specification/pull/2446)) - Add `net.host.name` and `net.host.ip` conventions for rpc server spans. ([#2447](https://github.com/open-telemetry/opentelemetry-specification/pull/2447)) - Allow all metric conventions to be either synchronous or asynchronous. ([#2458](https://github.com/open-telemetry/opentelemetry-specification/pull/2458) - Update JVM metrics with JMX Gatherer values ([#2478](https://github.com/open-telemetry/opentelemetry-specification/pull/2478)) - Add HTTP/3 ([#2507](https://github.com/open-telemetry/opentelemetry-specification/pull/2507)) - Map SunOS to solaris for os.type resource attribute ([#2509](https://github.com/open-telemetry/opentelemetry-specification/pull/2509)) ## v1.10.0 (2022-04-01) - Define span structure for HTTP retries and redirects. ([#2078](https://github.com/open-telemetry/opentelemetry-specification/pull/2078)) - Changed `rpc.system` to an enum (allowing custom values), and changed the `rpc.system` value for .NET WCF from `wcf` to `dotnet_wcf`. ([#2377](https://github.com/open-telemetry/opentelemetry-specification/pull/2377)) - Define JavaScript runtime semantic conventions. ([#2290](https://github.com/open-telemetry/opentelemetry-specification/pull/2290)) - Add semantic conventions for [CloudEvents](https://cloudevents.io). ([#1978](https://github.com/open-telemetry/opentelemetry-specification/pull/1978)) - Add `process.cpu.utilization` metric. ([#2436](https://github.com/open-telemetry/opentelemetry-specification/pull/2436)) - Add `rpc.system` value for Apache Dubbo. ([#2453](https://github.com/open-telemetry/opentelemetry-specification/pull/2453)) ## v1.9.0 (2022-02-10) - Align runtime metric and resource namespaces ([#2112](https://github.com/open-telemetry/opentelemetry-specification/pull/2112)) - Prohibit usage of retired names in semantic conventions. ([#2191](https://github.com/open-telemetry/opentelemetry-specification/pull/2191)) - Add `device.manufacturer` to describe mobile device manufacturers. ([2100](https://github.com/open-telemetry/opentelemetry-specification/pull/2100)) - Change golang namespace to 'go', rather than 'gc' ([#2262](https://github.com/open-telemetry/opentelemetry-specification/pull/2262)) - Add JVM memory runtime semantic conventions. ([#2272](https://github.com/open-telemetry/opentelemetry-specification/pull/2272)) - Add opentracing.ref_type semantic convention. ([#2297](https://github.com/open-telemetry/opentelemetry-specification/pull/2297)) ## v1.8.0 (2021-11-12) - Add `k8s.container.restart_count` Resource attribute. ([#1945](https://github.com/open-telemetry/opentelemetry-specification/pull/1945)) - Add "IBM z/Architecture" (`s390x`) to `host.arch` ([#2055](https://github.com/open-telemetry/opentelemetry-specification/pull/2055)) - BREAKING: Remove db.cassandra.keyspace and db.hbase.namespace, and clarify db.name ([#1973](https://github.com/open-telemetry/opentelemetry-specification/pull/1973)) - Add AWS App Runner as a cloud platform ([#2004](https://github.com/open-telemetry/opentelemetry-specification/pull/2004)) - Add Tencent Cloud as a cloud provider. ([#2006](https://github.com/open-telemetry/opentelemetry-specification/pull/2006)) - Don't set Span.Status for 4xx http status codes for SERVER spans. ([#1998](https://github.com/open-telemetry/opentelemetry-specification/pull/1998)) - Add attributes for Apache RocketMQ. ([#1904](https://github.com/open-telemetry/opentelemetry-specification/pull/1904)) - Define http tracing attributes provided at span creation time ([#1916](https://github.com/open-telemetry/opentelemetry-specification/pull/1916)) - Change meaning and discourage use of `faas.trigger` for FaaS clients (outgoing). ([#1921](https://github.com/open-telemetry/opentelemetry-specification/pull/1921)) - Clarify difference between container.name and k8s.container.name ([#1980](https://github.com/open-telemetry/opentelemetry-specification/pull/1980)) ## v1.7.0 (2021-09-30) - BREAKING: Change enum member IDs to lowercase without spaces, not starting with numbers. Change values of `net.host.connection.subtype` to match. ([#1863](https://github.com/open-telemetry/opentelemetry-specification/pull/1863)) - Lambda instrumentations should check if X-Ray parent context is valid ([#1867](https://github.com/open-telemetry/opentelemetry-specification/pull/1867)) - Update YAML definitions for events ([#1843](https://github.com/open-telemetry/opentelemetry-specification/pull/1843)): - Mark exception as semconv type "event". - Add YAML definitions for grpc events. - Add `messaging.consumer_id` to differentiate between message consumers. ([#1810](https://github.com/open-telemetry/opentelemetry-specification/pull/1810)) - Clarifications for `http.client_ip` and `http.host`. ([#1890](https://github.com/open-telemetry/opentelemetry-specification/pull/1890)) - Add HTTP request and response headers semantic conventions. ([#1898](https://github.com/open-telemetry/opentelemetry-specification/pull/1898)) ## v1.6.0 (2021-08-06) - Add mobile-related network state: `net.host.connection.type`, `net.host.connection.subtype` & `net.host.carrier.*` [#1647](https://github.com/open-telemetry/opentelemetry-specification/issues/1647) - Adding alibaba cloud as a cloud provider. ([#1831](https://github.com/open-telemetry/opentelemetry-specification/pull/1831)) ## v1.5.0 (2021-07-08) - Clean up FaaS semantic conventions, add `aws.lambda.invoked_arn`. ([#1781](https://github.com/open-telemetry/opentelemetry-specification/pull/1781)) - Remove `rpc.jsonrpc.method`, clarify that `rpc.method` should be used instead. ([#1748](https://github.com/open-telemetry/opentelemetry-specification/pull/1748)) ## v1.4.0 (2021-06-07) - Add JSON RPC specific conventions ([#1643](https://github.com/open-telemetry/opentelemetry-specification/pull/1643)). - Add Memcached to Database specific conventions ([#1689](https://github.com/open-telemetry/opentelemetry-specification/pull/1689)). - Add semantic convention attributes for the host device and added OS name and version ([#1596](https://github.com/open-telemetry/opentelemetry-specification/pull/1596)). - Add CockroachDB to Database specific conventions ([#1725](https://github.com/open-telemetry/opentelemetry-specification/pull/1725)). ## v1.3.0 (2021-05-05) - Fix the inconsistent formatting of semantic convention enums. ([#1598](https://github.com/open-telemetry/opentelemetry-specification/pull/1598/)) - Add details for filling resource for AWS Lambda. ([#1610](https://github.com/open-telemetry/opentelemetry-specification/pull/1610)) - Add already specified `messaging.rabbitmq.routing_key` span attribute key to the respective YAML file. ([#1651](https://github.com/open-telemetry/opentelemetry-specification/pull/1651)) - Clarify usage of "otel." attribute namespace. ([#1640](https://github.com/open-telemetry/opentelemetry-specification/pull/1640)) - Add possibility to disable `db.statement` via instrumentation configuration. ([#1659](https://github.com/open-telemetry/opentelemetry-specification/pull/1659)) ## v1.2.0 (2021-04-14) - Add semantic conventions for AWS SDK operations and DynamoDB ([#1422](https://github.com/open-telemetry/opentelemetry-specification/pull/1422)) - Add details for filling semantic conventions for AWS Lambda ([#1442](https://github.com/open-telemetry/opentelemetry-specification/pull/1442)) - Update semantic conventions to distinguish between int and double ([#1550](https://github.com/open-telemetry/opentelemetry-specification/pull/1550)) - Add semantic convention for AWS ECS task revision ([#1581](https://github.com/open-telemetry/opentelemetry-specification/pull/1581)) ## v1.1.0 (2021-03-11) - Add `elasticsearch` to `db.system` semantic conventions ([#1463](https://github.com/open-telemetry/opentelemetry-specification/pull/1463)) - Add `arch` to `host` semantic conventions ([#1483](https://github.com/open-telemetry/opentelemetry-specification/pull/1483)) - Add `runtime` to `container` semantic conventions ([#1482](https://github.com/open-telemetry/opentelemetry-specification/pull/1482)) - Rename `gcp_gke` to `gcp_kubernetes_engine` to have consistency with other Google products under `cloud.infrastructure_service` ([#1496](https://github.com/open-telemetry/opentelemetry-specification/pull/1496)) - `http.url` MUST NOT contain credentials ([#1502](https://github.com/open-telemetry/opentelemetry-specification/pull/1502)) - Add `aws.eks.cluster.arn` to EKS specific semantic conventions ([#1484](https://github.com/open-telemetry/opentelemetry-specification/pull/1484)) - Rename `zone` to `availability_zone` in `cloud` semantic conventions ([#1495](https://github.com/open-telemetry/opentelemetry-specification/pull/1495)) - Rename `cloud.infrastructure_service` to `cloud.platform` ([#1530](https://github.com/open-telemetry/opentelemetry-specification/pull/1530)) - Add section describing that libraries and the collector should autogenerate the semantic convention keys. ([#1515](https://github.com/open-telemetry/opentelemetry-specification/pull/1515)) ## v1.0.1 (2021-02-11) N/A ## v1.0.0 (2021-02-10) First release of OpenTelemetry Specification. Semantic conventions were not explicitly tracked in changelog up to this point.