Please update changelog as part of any significant pull request. Place short description of your change into "Unreleased" section. As part of release process content of "Unreleased" section content will generate release notes for the release.
- BREAKING: Rename http.resend_count to http.request.resend_count. (#374)
- BREAKING: Define url.scheme in terms of logical operation in HTTP server semconv. (#376)
- BREAKING: Change
network.transport
from recommended to opt-in in HTTP semconv. (#402)
- Clarify that
error.type
should 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.port
from recommended to conditionally required on HTTP server semconv. (#399)
- Remove experimental Kafka metrics (#338)
- Adds
session.id
and session.md to general docs and model (#215) - Add
container.labels.<key>
attributes. (#125) - Add
cluster.name
andnode.name
attributes to Elasticsearch semantic conventions. (#285) - Fix the unit of metric.process.runtime.jvm.system.cpu.load_1m to be {run_queue_item} (#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) - Add
oci.manifest.digest
,container.image.repo_digests
attributes. Makecontainer.image.tag
array and in plural form. (#159) - BREAKING: Rename
http.client.duration
andhttp.server.duration
metrics tohttp.client.request.duration
andhttp.server.request.duration
respectively. (#224) - Update HTTP
network.protocol.version
examples 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.
- BREAKING: Rename all JVM metrics from
process.runtime.jvm.*
tojvm.*
(#241) - BREAKING: Add namespaces to JVM metric attributes (#20).
- Rename attributes
type
tojvm.memory.type
,pool
tojvm.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
tojvm.gc.name
,action
tojvm.gc.action
- Applies to metrics:
jvm.gc.duration
- Rename attribute
daemon
tothread.daemon
- Applies to metrics:
jvm.threads.count
- Rename attribute
pool
tojvm.buffer.pool.name
- Applies to metrics:
jvm.buffer.usage
jvm.buffer.limit
jvm.buffer.count
- Rename attributes
- Clarify that
http/dup
has higher precedence thanhttp
in case both values are present inOTEL_SEMCONV_STABILITY_OPT_IN
(#249) - Add
jvm.cpu.count
metric. (#52) - BREAKING: Rename metrics
jvm.buffer.usage
tojvm.buffer.memory.usage
andjvm.buffer.limit
tojvm.buffer.memory.limit
. (#253) - BREAKING: Rename
jvm.classes.current_loaded
metrics tojvm.classes.count
(#60) - BREAKING: Remove pluralization from JVM metric namespaces. (#252)
- Simplify HTTP metric briefs. (#276)
- Add host cpu resource attributes. (#209)
- Introduce
error.type
attribute and use it in HTTP conventions (#205) - BREAKING: Change HTTP span name when method is unknown (use
HTTP
instead of_OTHER
) (#270) - Moved RPC streaming notes from metric brief section to notes section. (#275)
- Updates
client.address
to allow domain names for consistency withserver.address
. (#302) - BREAKING: Generate System metrics semconv from YAML.
(#89)
- Rename attributes for
system.cpu.*
metrics:state
tosystem.cpu.state
cpu
tosystem.cpu.logical_number
- Rename attributes for
system.memory.*
metrics:state
tosystem.memory.state
- Rename attributes for
system.paging.*
metrics:state
tosystem.paging.state
type
tosystem.paging.type
direction
tosystem.paging.direction
- Rename attributes for
system.disk.*
metrics:device
tosystem.device
direction
tosystem.disk.direction
- Rename attributes for
system.filesystem.*
metrics:device
tosystem.device
state
tosystem.filesystem.state
type
tosystem.filesystem.type
mode
tosystem.filesystem.mode
mountpoint
tosystem.filesystem.mountpoint
- Rename attributes for
system.network.*
metrics:device
tosystem.device
direction
tosystem.network.direction
protocol
tonetwork.protocol
state
tosystem.network.state
- Rename attributes for
system.processes.*
metrics:status
tosystem.processes.status
- Rename attributes for
- BREAKING: Rename
messaging.message.payload_size_bytes
tomessaging.message.body.size
, removemessaging.message.payload_compressed_size_bytes
. (#229) - Add
system.linux.memory.available
metric. (#323) - BREAKING: Rename
http.server.request.size
metric tohttp.server.request.body.size
andhttp.server.response.size
metric tohttp.server.response.body.size
(#247) - Move non-
network.*
attributes out of network.yaml. (#296) - Introducing Android
android.os.api_level
resource attribute. (#328) - Added
os.build_id
resource attribute. (#293) - BREAKING: Remove the zero bucket boundary from
http.server.request.duration
andhttp.client.request.duration
. (#318) - Encourage setting
network.transport
when reporting port numbers (#289) - BREAKING: Add
url.scheme
tohttp.client.*
metrics (#357) - BREAKING: Remove
server.socket.address
from HTTP and RPC client metrics. (#350) - Improve network attribute briefs. (#352)
- Document the difference between host and system metrics (#324)
- BREAKING: Rename
telemetry.auto.version
resource attribute totelemetry.distro.version
and addtelemetry.distro.name
resource attribute (#178) - Improve HTTP metric briefs. (#366)
- Add
host.ip
resource attribute convention. (#203) - BREAKING: Rename/replace
(client|server).socket.(address|port)
attributes withnetwork.(peer|local).(address|port)
. (#342) - Make
network.protocol.name|version
description consistent between HTTP spans and metrics. (#367)
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
1
and 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_id
generic (#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.name
toserver.address
on client side and toclient.address
on server side,net.peer.port
toserver.port
on client side and toclient.port
on server side,net.host.name
andnet.host.port
toserver.address
andserver.port
(sincenet.host.*
attributes only applied to server instrumentation),net.sock.peer.addr
toserver.socket.address
on client side and toclient.socket.address
on server side,net.sock.peer.port
toserver.socket.port
on client side and toclient.socket.port
on server side,net.sock.peer.name
toserver.socket.domain
(sincenet.sock.peer.name
only applied to client instrumentation),net.sock.host.addr
toserver.socket.address
(sincenet.sock.host.*
only applied to server instrumentation),net.sock.host.port
toserver.socket.port
(similarly sincenet.sock.host.*
only applied to server instrumentation),http.client_ip
toclient.address
- BREAKING: Introduce
network.transport
defined as OSI Transport Layer or Inter-process Communication method. Introducenetwork.type
defined as OSI Network Layer or non-OSI equivalent. Removenet.transport
andnet.sock.family
. Renamenet.protocol.*
tonetwork.protocol.*
,net.host.connection.*
tonetwork.connection.*
, andnet.host.carrier.*
tonetwork.carrier.*
. (#3426) - BREAKING: Adopt ECS attributes in HTTP semantic conventions.
Renames:
http.method
tohttp.request.method
,http.status_code
tohttp.response.status_code
,http.request_content_length
tohttp.request.body.size
,http.response_content_length
tohttp.response.body.size
,http.url
tourl.full
,http.scheme
tourl.scheme
, and removeshttp.target
breaking it down tohttp.target
tourl.path
,url.query
, andurl.fragment
. (#3355) - Add
gcp.cloud_run.job.execution
andgcp.cloud_run.job.task_id
resource 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.utilization
toprocess.runtime.jvm.cpu.recent_utilization
. (#53) - Clarify
process.runtime.jvm.threads.count
refers to platform threads. (#54) - Add
gcp.gce.instance.name
andgcp.gce.instance.hostname
resource 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.time
metric. (#55) - Split out sections for proposed stable JVM metrics and experimental JVM metrics. (#56)
- Make
url.query
conditionally required for HTTP spans. (#118) - Change
server.address
andserver.port
requirement levels on HTTP server metrics fromrequired
toopt_in
. (#109) - Updated AWS Java Lambda guidance - using system properties. (#27)
- Limit
http.request.method
values to a closed set of known values, introducehttp.request.method_original
for 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_1m
andprocess.runtime.jvm.system.cpu.utilization
metrics as opt-in. (#57) - Add container
image.id
,command
,command_line
andcommand_args
resource 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)
- Add
system.cpu.physical.count
andsystem.cpu.logical.count
metrics. (#99)
This and earlier versions were released as part of the Specification. See the specification changelog if you'd like to git blame
a changelog entry.
- Clarify that attribute requirement levels apply to the instrumentation library (#3289)
- Fix grammatical number of metric units. (#3298)
- Rename
net.app.protocol.(name|version)
tonet.protocol.(name|version)
(#3272) - Replace
http.flavor
withnet.protocol.(name|version)
(#3272) - Metric requirement levels are now stable (#3271)
- BREAKING: remove
messaging.destination.kind
andmessaging.source.kind
. (#3214, #3348) - Define attributes collected for
cosmosdb
by Cosmos DB SDK (#3097) - Clarify stability requirements of semantic conventions (#3225)
- BREAKING: Change span statuses for gRPC server spans. (#3333)
- Stabilize key components of
service.*
andtelemetry.sdk.*
resource semantic conventions. (#3202) - Fixed attributes requirement level in semantic conventions for hardware metrics (#3258)
- Added AWS S3 semantic conventions. (#3251)
- Fix units in the Kafka metric semantic conventions. (#3300)
- Add Trino to Database specific conventions (#3347)
- Change
db.statement
to only be collected if there is sanitization. (#3127) - BREAKING: Remove
http.status_code
attribute from thehttp.server.active_requests
metric. (#3366) - Mark attribute requirement levels as stable (#3368)
- Move X-Ray Env Variable propagation to span link instead of parent for AWS Lambda. (#3166)
- Add heroku resource semantic conventions. #3075
- BREAKING: Rename faas.execution to faas.invocation_id (#3209)
- BREAKING: Change faas.max_memory units to Bytes instead of MB (#3209)
- BREAKING: Expand scope of faas.id to cloud.resource_id (#3188)
- Add Connect RPC specific conventions (#3116)
- Rename JVM metric attribute value from
nonheap
tonon_heap
(#3250) - Mark the attribute naming guidelines in the specification as stable. (#3220)
- Mark telemetry schema readme stable. (#3221)
- Remove mention of
net.transport
from HTTP semantic conventions (#3244) - Clarifies that if an HTTP client request is explicitly made to an IP address,
e.g.
http://x.x.x.x:8080
, thennet.peer.name
SHOULD be the IP addressx.x.x.x
(#3276) - Mark
net.sock.host.port
as conditionally required. (#3246) - Rename Optional attribute requirement level to Opt-In. (#3228)
- Rename
http.user_agent
touser_agent.original
. (#3190) - Expand the declaration of
pool.name
. (#3050)
- Add Cloud Spanner and Microsoft SQL Server Compact to db.system semantic conventions (#3105).
- Enable semantic convention tooling for metrics in spec (#3119)
- Rename google openshift platform attribute from
google_cloud_openshift
togcp_openshift
to match the existingcloud.provider
prefix. (#3095) - Changes http server span names from
{http.route}
to{http.method} {http.route}
(when route is available), and fromHTTP {http.method}
to{http.method}
(when route is not available). Changes http client span names fromHTTP {http.method}
to{http.method}
. (#3165) - Mark
http.server.duration
andhttp.client.duration
metrics as required, and mark all other HTTP metrics as optional. #3158 - Add
net.host.port
tohttp.server.active_requests
metrics attributes. #3158 http.route
SHOULD contain the "application root" if there is one. (#3164)
- Clarify common HTTP attributes apply to both clients and servers (#3044)
- Add
code.lineno
source code attribute (#3029) - Add ClickHouse to db.system semantic conventions (#3011)
- Refactor messaging attributes and per-message attributes in batching scenarios.
(#2957).
BREAKING: rename
messaging.consumer_id
tomessaging.consumer.id
,messaging.destination
tomessaging.destination.name
,messaging.temp_destination
tomessaging.destination.temporary
,messaging.destination_kind
tomessaging.destination.kind
,messaging.message_id
tomessaging.message.id
,messaging.protocol
tonet.app.protocol.name
,messaging.protocol_version
,net.app.protocol.version
,messaging.conversation_id
tomessaging.message.conversation_id
,messaging.message_payload_size_bytes
tomessaging.message.payload_size_bytes
,messaging.message_payload_compressed_size_bytes
tomessaging.message.payload_compressed_size_bytes
,messaging.rabbitmq.routing_key
:messaging.rabbitmq.destination.routing_key
,messaging.kafka.message_key
tomessaging.kafka.message.key
,messaging.kafka.consumer_group
tomessaging.kafka.consumer.group
,messaging.kafka.partition
tomessaging.kafka.destination.partition
,messaging.kafka.tombstone
tomessaging.kafka.message.tombstone
,messaging.rocketmq.message_type
tomessaging.rocketmq.message.type
,messaging.rocketmq.message_tag
tomessaging.rocketmq.message.tag
,messaging.rocketmq.message_keys
tomessaging.rocketmq.message.keys
; Removedmessaging.url
; Renamedsend
operation topublish
; Splitdestination
andsource
namespaces and clarify per-message attributes in batching scenarios.
- Add
process.runtime.jvm.gc.duration
metric to semantic conventions. (#2903) - Make http.status_code metric attribute an int. (#2943)
- Add IBM Cloud as a cloud provider. (#2965)
- Add semantic conventions for Feature Flags (#2529)
- Rename
rpc.request.metadata.<key>
andrpc.response.metadata.<key>
torpc.grpc.request.metadata.<key>
andrpc.grpc.response.metadata.<key>
(#2981) - List the machine-id as potential source for a unique host.id (#2978)
- Add
messaging.kafka.message.offset
attribute. (#2982) - Update hardware metrics to use
direction
as per general semantic conventions (#2942)
- Change to messaging.kafka.max.lag from UpDownCounter to Gauge (and rename it) (#2837)
- Add daemon attribute to jvm threads metric (#2828)
- Add gRPC request and response metadata semantic conventions (#2874)
- Add
process.paging.faults
metric to semantic conventions (#2827) - Define semantic conventions yaml for non-otlp conventions (#2850)
- Add more semantic convetion attributes of Apache RocketMQ (#2881)
- Add
process.runtime.jvm.memory.usage_after_last_gc
metric to semantic conventions. (#2901)
- Add
process.context_switches
, andprocess.open_file_descriptors
, to the metrics semantic conventions (#2706) - Add exceptions to the logs semantic conventions (#2819)
- Make context propagation requirements explicit for messaging semantic conventions (#2750).
- Update http metrics to use
http.route
instead ofhttp.target
for servers, drophttp.url
for clients (#2818).
- Add
net.app.protocol.*
attributes (#2602) - Add network metrics to process semantic conventions (#2556)
- Adopt attribute requirement levels in semantic conventions (#2594)
- Add semantic conventions for GraphQL (#2456)
- Change
cloudevents.event_spec_version
andcloudevents.event_type
level fromrequired
torecommended
(#2618) - Change
faas.document.time
andfaas.time
level fromrequired
torecommended
(#2627) - Add
rpc.grpc.status_code
to RPC metric semantic conventions (#2604) - Add
http.*.*.size
metric semantic conventions for tracking size of requests / responses for http servers / clients (#2588) - BREAKING: rename
net.peer.ip
tonet.sock.peer.addr
,net.host.ip
tonet.sock.host.addr
,net.peer.name
tonet.sock.peer.name
for socket-level instrumentation. Define socket-level attributes and clarify logical peer and host attributes meaning (#2594) - Add semantic conventions for JVM buffer pool usage (#2650)
- Improve the definition of
state
attribute for metricsystem.network.connections
(#2663) - Add
process.parent_pid
attribute for use in reporting parent process id (PID) (#2691) - Add OpenSearch to db.system semantic conventions (#2718)
- Clarify when "count" is used instead of pluralization (#2613)
- Add the convention 'type' to the YAML definitions for all existing semantic conventions (#2693)
- Remove alternative attribute sets from HTTP semantic conventions (#2469)
- Add semantic conventions for JVM CPU metrics (#2292)
- Add details for FaaS conventions for Azure Functions and allow FaaS/Cloud resources as span attributes on incoming FaaS spans (#2502)
- Define attribute requirement levels (#2522)
- Initial addition of Kafka metrics (#2485).
- Add semantic conventions for Kafka consumer metrics (#2536)
- Add database connection pool metrics semantic conventions (#2273).
- Specify how to obtain a Ruby thread's id (#2508).
- Refactor jvm classes semantic conventions (#2550).
- Add browser.* attributes (#2353).
- Change JVM runtime metric
process.runtime.jvm.memory.max
toprocess.runtime.jvm.memory.limit
(#2605). - Add semantic conventions for hardware metrics (#2518).
- Note added that
net.peer.name
SHOULD NOT be set if capturing it would require an extra reverse DNS lookup. And movednet.peer.name
from common http attributes to just client http attributes. (#2446) - Add
net.host.name
andnet.host.ip
conventions for rpc server spans. (#2447) - Allow all metric conventions to be either synchronous or asynchronous. (#2458
- Update JVM metrics with JMX Gatherer values (#2478)
- Add HTTP/3 (#2507)
- Map SunOS to solaris for os.type resource attribute (#2509)
- Define span structure for HTTP retries and redirects. (#2078)
- Changed
rpc.system
to an enum (allowing custom values), and changed therpc.system
value for .NET WCF fromwcf
todotnet_wcf
. (#2377) - Define JavaScript runtime semantic conventions. (#2290)
- Add semantic conventions for CloudEvents. (#1978)
- Add
process.cpu.utilization
metric. (#2436) - Add
rpc.system
value for Apache Dubbo. (#2453)
- Align runtime metric and resource namespaces (#2112)
- Prohibit usage of retired names in semantic conventions. (#2191)
- Add
device.manufacturer
to describe mobile device manufacturers. (2100) - Change golang namespace to 'go', rather than 'gc' (#2262)
- Add JVM memory runtime semantic conventions. (#2272)
- Add opentracing.ref_type semantic convention. (#2297)
- Add
k8s.container.restart_count
Resource attribute. (#1945) - Add "IBM z/Architecture" (
s390x
) tohost.arch
(#2055) - BREAKING: Remove db.cassandra.keyspace and db.hbase.namespace, and clarify db.name (#1973)
- Add AWS App Runner as a cloud platform (#2004)
- Add Tencent Cloud as a cloud provider. (#2006)
- Don't set Span.Status for 4xx http status codes for SERVER spans. (#1998)
- Add attributes for Apache RocketMQ. (#1904)
- Define http tracing attributes provided at span creation time (#1916)
- Change meaning and discourage use of
faas.trigger
for FaaS clients (outgoing). (#1921) - Clarify difference between container.name and k8s.container.name (#1980)
- BREAKING: Change enum member IDs to lowercase without spaces, not starting with numbers.
Change values of
net.host.connection.subtype
to match. (#1863) - Lambda instrumentations should check if X-Ray parent context is valid (#1867)
- Update YAML definitions for events
(#1843):
- Mark exception as semconv type "event".
- Add YAML definitions for grpc events.
- Add
messaging.consumer_id
to differentiate between message consumers. (#1810) - Clarifications for
http.client_ip
andhttp.host
. (#1890) - Add HTTP request and response headers semantic conventions. (#1898)
- Add mobile-related network state:
net.host.connection.type
,net.host.connection.subtype
&net.host.carrier.*
#1647 - Adding alibaba cloud as a cloud provider. (#1831)
- Clean up FaaS semantic conventions, add
aws.lambda.invoked_arn
. (#1781) - Remove
rpc.jsonrpc.method
, clarify thatrpc.method
should be used instead. (#1748)
- Add JSON RPC specific conventions (#1643).
- Add Memcached to Database specific conventions (#1689).
- Add semantic convention attributes for the host device and added OS name and version (#1596).
- Add CockroachDB to Database specific conventions (#1725).
- Fix the inconsistent formatting of semantic convention enums. (#1598)
- Add details for filling resource for AWS Lambda. (#1610)
- Add already specified
messaging.rabbitmq.routing_key
span attribute key to the respective YAML file. (#1651) - Clarify usage of "otel." attribute namespace. (#1640)
- Add possibility to disable
db.statement
via instrumentation configuration. (#1659)
- Add semantic conventions for AWS SDK operations and DynamoDB (#1422)
- Add details for filling semantic conventions for AWS Lambda (#1442)
- Update semantic conventions to distinguish between int and double (#1550)
- Add semantic convention for AWS ECS task revision (#1581)
- Add
elasticsearch
todb.system
semantic conventions (#1463) - Add
arch
tohost
semantic conventions (#1483) - Add
runtime
tocontainer
semantic conventions (#1482) - Rename
gcp_gke
togcp_kubernetes_engine
to have consistency with other Google products undercloud.infrastructure_service
(#1496) http.url
MUST NOT contain credentials (#1502)- Add
aws.eks.cluster.arn
to EKS specific semantic conventions (#1484) - Rename
zone
toavailability_zone
incloud
semantic conventions (#1495) - Rename
cloud.infrastructure_service
tocloud.platform
(#1530) - Add section describing that libraries and the collector should autogenerate the semantic convention keys. (#1515)
N/A
First release of OpenTelemetry Specification. Semantic conventions were not explicitly tracked in changelog up to this point.