Releases: open-telemetry/semantic-conventions
v1.29.0
🛑 Breaking changes 🛑
-
vcs
: Add the VCS metrics inspired by the GitHub Receiver (#1372)
Makes the following changes:- Add metrics
vcs.change.count
,vcs.change.duration
,vcs.change.time_to_approval
,vcs.repository.count
,vcs.ref.count
,
vcs.ref.lines_delta
,vcs.ref.revisions_delta
,vcs.ref.time
,vcs.contributor.count
- The VCS attributes
vcs.change.state
,vcs.revision_delta.direction
andvcs.line_change.type
have been added to the registry. - The VCS ref attributes have been duplicated to
vcs.ref.base.*
to allow for ref comparisons. - The VCS attribute
vcs.ref.type
has been added for simplicity when neither a full head or base ref is necessary. vcs.repository.change.*
attributes have been deprecated and moved tovcs.change.*
.vcs.repository.ref.*
attributes have been deprecated and moved tovcs.ref.head.*
.
- Add metrics
-
feature_flag
: Renamefeature_flag
event tofeature_flag.evaluation
event, define new feature flag attributes and provide body definition. Removefeature_flag
span event definition in favor of log-based event.
(#1440) -
db
: Generalizedb.query.parameter.<key>
todb.operation.parameter.<key>
(#1559) -
db
: Remove redis database index from the redis span name. (#1449) -
db
: Don't capturedb.operation.name
anddb.collection.name
from query formats that support multiples. (#1566) -
system
: Introducenetwork.interface.name
and use that instead ofsystem.device
for system and container network metrics (#1492) -
system
: Add system.device attribute to system paging metrics (#1408) -
process
: Change process.uptime instrument to a gauge. (#1518) -
process.executable.build_id
: Rename process.executable.build_id.profiling to process.executable.build_id.htlhash. (#1520)
With #4197 it was decided to rename the attribute profiling in process.executable.build_id to htlhash. -
graphql
: Update the GraphQL Span name convention (#1361)
🚀 New components 🚀
cli
: Define span describing CLI application execution (#1577)geo
: Add geo fields to attribute registry. (#1033)
💡 Enhancements 💡
gen_ai
: Add system-specific conventions for Azure AI Inference. (#1393)http
: Define how to handle experimental attributes in stable groups, add policies and move experimental HTTP attributes into stable HTTP groups (as opt_in). (#906, #1472)db, gen-ai, faas
: Relax wording for span kind - use SHOULD instead of MUST for logical operations. (#1315, #1506)kestrel
: Add .NET 9 error reasons to Kestrel connection metric. (#1582)db
: Specify how to set span status for database operations. (#1536, #1560)gen-ai
: Add 2 well-known gen-ai systems as reference values of the gen-ai system attribute including AWS Bedrock and IBM Watsonx AI (#1574)http
: Relaxserver.port
requirement level on HTTP server spans (#1387)gen-ai
: Add conventions for GenAI Embeddings operations (#1174, #1603)feature_flag
: Renamefeature_flag.system
back tofeature_flag.provider_name
(#1614)user_agent
: Add theuser_agent.synthetic.type
attribute to specify the category of synthetic traffic, such as tests or bots. (#1127)system
: Add system uptime metric (#648)gen-ai
: Addgen_ai.openai.response.system_fingerprint
attribute (#1355)k8s
: Add k8s.{node,pod}.network.{io,errors} metrics (#1427)k8s
: Add uptime metrics for container, K8s Pod and K8s Node (#1486)linux
: Add linux.process.cgroup attribute (#1357)docs
: Improve separation between attribute table footnotes and enum values (#1569)messaging
: Specify which span kind to use for messaging settle operations (#1478)db
: Addeddb.cosmosdb.regions_contacted
attribute to Cosmos DB metrics and traces. (#1525)db
: Added new commondb.client.response.returned_rows
database metric and several operation level metrics for Azure Cosmos DB. (#1438)
🧰 Bug fixes 🧰
-
service
: Mergeresource
experimental and stable groups for service and telemetry.sdk (#1423)
Discovered when fixing weaver#306 -
db
: Fix telemetry for complex queries: -
introduce the
db.query.summary
attribute to provide a concise, low-cardinality
representation of the query text. -
use
db.query.summary
as the span name and as a recommended attribute on metrics. -
avoid capturing
db.operation.name
anddb.collection.name
when the query
involves multiple operations or collections, to prevent ambiguity.
(#521, #805, #1159) -
url
: Specific URL query string values should now be redacted by default due to concerns around leaking credentials. (#971) -
messaging
: Fix typo in schemas for messaging attribute changes (#1595)
New Contributors
- @kaylareopelle made their first contribution in #1389
- @PePoDev made their first contribution in #1471
- @RichardChukwu made their first contribution in #1480
- @kevinnoel-be made their first contribution in #1507
- @sourabh1007 made their first contribution in #1438
- @xrmx made their first contribution in #1355
- @christophe-kamphaus-jemmic made their first contribution in #1383
- @JamesNK made their first contribution in #1548
- @gyliu513 made their first contribution in #1584
- @JacksonWeber made their first contribution in #1523
- @trentm made their first contribution in #1603
Full Changelog: v1.28.0...v1.29.0
v1.28.0
🛑 Breaking changes 🛑
database
: Add newdb.response.status_code
attribute, deprecatedb.cosmos.status_code
. (#1424)gen_ai
: Deprecategen_ai.prompt
andgen_ai.completion
attributes, introduce log-based events for GenAI inputs and outputs. (#834, #980)system
: Makesystem.cpu.utilization
andprocess.cpu.utilization
opt-in (#1130)messaging
: Mark*.size
messaging attributes as opt-in (#474)
🚩 Deprecations 🚩
event
: Remove support for the eventfields
supporting 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 messagingpublish
andprocess
spans. (#1112) -
db
: Change description ofdb.client.connection.pending_requests
from cumulative to current value (#1290) -
docs
: Add note on tooling limitations for attribute names and enforce name format. (#1124) -
az, db
: Definedb.operation.name
values for Cosmos DB, declareaz.namespace
attribute and add proper reference to it. (#1330) -
db
: Recommend to capturedb.namespace
from initial connection over not capturing any, also specifydb.namespace
value 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
name
on resource groups. - Enforce backwards compatibility stability requirements on resource groups.
- Rename
telemetry
totelemetry.sdk
, attributes are unchanged. - Mark
telemetry.sdk
andresource
as stable in YAML model. - Markdown templates for resource groups NOW includes header describing
the resourcetype
,stability
anddescription
.
- Require
-
process
: Add additional process fields from ECS (#993) -
container
: Addcontainer.cpu.usage
metric (#1128) -
container
: Add CSI (Container Storage Interface) attributes:container.csi.plugin.name
andcontainer.csi.volume.id
. (#1119) -
system
: Add thesystem.filesystem.limit
metric (#127) -
k8s
: Addk8s.pod.cpu.time
,k8s.pod.cpu.usage
,k8s.node.cpu.time
,k8s.node.cpu.usage
metrics (#1320) -
k8s
: Add k8s.pod.memory usage and k8s.node.memory.usage metrics (#1406) -
k8s
: Addsk8s.volume.name
andk8s.volume.type
attributes to the registry (#1164) -
os
: add lookup foros.build_id
(#1318) -
gen_ai
: Add system specific conventions for OpenAI. (#1370) -
system
: Add thesystem.disk.limit
metric (#127) -
file
: Add additional attributes from ECS to thefile
namespace. (#914) -
messaging
: Clarify the possibility to have a parent-child trace structure in messaging conventions (#1282) -
nodejs
: Addingnodejs.eventloop.time
metric 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.name
required andmessaging.operation.type
conditionally required when type is applicable. - Rename
messaging.publish.messages
metric tomessaging.client.published.messages
- Unify
messaging.publish.duration
andmessaging.receive.duration
metrics intomessaging.client.operation.duration
- Unify
messaging.receive.messages
andmessaging.process.messages
metrics intomessaging.client.consumed.messages
(#1006, #947, #937)
- Make
-
db
: Clean updb.system
enum members:- remove
firstsql
,mssqlcompact
, andcloudscape
as the corresponding databases are discontinued. - rename
cache
tointersystems_cache
- remove
coldfusion
as it is not a database.
(#1110)
- remove
-
db
: Renamedb.client.connections.*
attributes todb.client.connection.*
(#1125) -
messaging
: Renamemessaging.kafka.message.offset
tomessaging.kafka.offset
(#1156) -
db
: Sampling relevant attributes defined for database client spans (#1019) -
tls
: Deprecatetls.client.server_name attribute
in 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.name
instead ofmessaging.kafka.consumer.group
,messaging.rocketmq.client_group
, andmessaging.eventhubs.consumer.group
. -messaging.destination.subscription.name
instead 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.name
in 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.environment
has been deprecated and moved todeployment.environment.name
.
-
jvm
: Rename JVM metricjvm.buffer.memory.usage
tojvm.buffer.memory.used
(#288) -
system
: Renameprocess.cpu.state
,container.cpu.state
, andsystem.cpu.state
attributes into a commoncpu.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 - deprecateenduser
in favor of a newuser
namespace. Add moreuser
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 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_tokens
togen_ai.usage.input_tokens
andgen_ai.usage.completion_tokens
togen_ai.usage.output_tokens
to align terminology between spans and metrics.
(#1200)gen_ai
: Convertgen_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
: Addserver.address
,server.port
, anderror.type
to 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_penalty
andgen_ai.request.stop_sequences
attributes. (#839)messaging
: Documentmessaging.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 thesystem.linux.memory.slab.usage
metric and thelinux.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 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.service
scope attribute. (#1047)db
: Add semantic convention of InfluxDB (#949)log
: Add 'log.record.original' attribute. (#1137)session
: Add new experimentalsession.start
andsession.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 fromMUST
toSHOULD
. (#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.statement
todb.query.text
and introducedb.query.parameter.<key>
(#716) -
db
: Renamesdb.sql.table
,db.cassandra.table
,db.mongodb.collection
, anddb.cosmosdb.container
attributes todb.collection.name
(#870) -
db
: Renamedb.operation
todb.operation.name
. (#884) -
messaging
: Renamemessaging.operation
tomessaging.operation.type
, addmessaging.operation.name
. (#890) -
db
: Deprecate thedb.user
attribute. (#885) -
db
: Renamedb.name
anddb.redis.database_index
todb.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.usage
todb.client.connection.count
.
(#201, #967) -
db
: Renamepool.name
todb.client.connections.pool.name
andstate
todb.client.connections.state
. (#909) -
system
: Deprecateshared
fromsystem.memory.state
values and make it a standalone metric (#522) -
device.app.lifecycle
: Reformat and update thedevice.app.lifecycle
event description adds constraints for the possible values of theandroid.state
andios.state
.
(#794)
Removes theios.lifecycle.events
andandroid.lifecycle.events
attributes from the global registry and adds constraints for the possible values of theandroid.state
andios.state
attributes. -
messaging
: Renamemessaging.client_id
tomessaging.client.id
(#935) -
rpc
: Renamemessage.*
attributes underrpc
torpc.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 thetemplates
directory. (#1000) -
db, messaging, gen_ai
: Clarify thatdb.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
: Adddb.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 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.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
: Newurl.template
attribute added to URL, HTTP client attributes are extended with optional low-cardinalityurl.template
(#675) -
db
: Add note todb.collection.name
,db.namespace
, anddb.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 🧰
v1.25.0
🛑 Breaking changes 🛑
messaging
: Removenetwork.transport
andnetwork.type
attributes from messaging semantic conventions, clarify whennetwork.peer.address|port
should be populated. (#690, #698)db
: Removenetwork.transport
andnetwork.type
attributes from database semantic conventions, clarify whennetwork.peer.address|port
should be populated. (#690, #768)messaging
: Introduce commonmessaging.destination.partition.id
instead 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.threads
toprocess.thread.count
- Rename
process.open_file_descriptors
toprocess.open_file_descriptor.count
- Rename attributes for
process.cpu.*
state
toprocess.cpu.state
- Change attributes for
process.disk.io
- Instead of
direction
usedisk.io.direction
from global registry
- Instead of
- Change attributes for
process.network.io
- Instead of
direction
usenetwork.io.direction
from global registry
- Instead of
- Rename attributes for
process.context_switches
type
toprocess.context_switch_type
- Rename attributes for
process.paging.faults
type
toprocess.paging.fault_type
- Rename
🚩 Deprecations 🚩
db
: Deprecatedb.connection_string
attribute in favor ofserver.address
andserver.port
(#724, #769)db
: Deprecatedb.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 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
,disk
andnetwork
(#282, #72)url
: Sensitive content provided inurl.full
,url.path
, andurl.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
: Addhttp.request.size
andhttp.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 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.name
conditionally required for messaging (#644)cloud
: Addazure_container_apps
tocloud.platform
semantic conventions (#615)user_agent
: Adduser_agent.name
anduser_agent.version
attributes (#452)messaging
: Add an example for gcp_pubsub asynchronous batch publish (#545)aws
: Addaws.ecs.task.id
attribute, 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.duration
histogram buckets to[ 0.01, 0.1, 1, 10 ]
(#317) - BREAKING: Change type of
host.cpu.model.id
andhost.cpu.model.family
to string. (#499) - Changed
messaging.system
attribute type to an open enum (#517) - Rename metrics
jvm.memory.usage
tojvm.memory.used
andjvm.memory.usage_after_last_gc
tojvm.memory.used_after_last_gc
(#536) - BREAKING: Change
event.name
definition to includenamespace
and removeevent.domain
from log event attributes. (#473) - BREAKING: Change
system.disk.io.direction
andsystem.network.io.direction
to global attributesdisk.io.direction
and network.io.direction`
(#530) - BREAKING: Change
messaging.kafka.partition
tomessaging.kafka.destination.partition
(#547)
Features
- Adds
labels
attribute tok8s.pod
resource (#494) - Change Erlang managed thread attribute to be the Erlang process (#491)
- Add gcp_pubsub as a messaging system (#490)
- Adds
annotation
attribute tok8s.pod
resource (#494) - Add
code.stacktrace
attribute (#435) - Add
http.flavor
andhttp.user_agent
to list of deprecated attributes (#503) - Add Semantic conventions for TLS/SSL encrypted communication. (#21)
- Add
messaging.gcp_pubsub.message.ordering_key
attribute. (#528) - Define how to set
process.runtime.name
,process.runtime.version
,process.runtime.description
for .NET runtime. (#561) - Add
db.instance.id
attribute. (#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
deprecated
property 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.name
from 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.transport
from recommended to opt-in in HTTP semconv. (#402) - BREAKING: Change
network.type
from recommended to opt-in in HTTP semconv. (#410) - BREAKING: Factor in
X-Forwarded-Host
/Forwarded
when capturingserver.address
andserver.port
. (#411) - Remove
thread.daemon
, and introducejvm.thread.daemon
instead. Introducejvm.thread.state
attribute and add it tojvm.thread.count
metric. (#297) - Fix
server.port
to be not required whenserver.address
is not set. (#429) - Use seconds as default duration for FaaS duration histograms (#384)
- BREAKING: Remove
total
from list of well-known values ofsystem.memory.state
attribute. (#409) - Remove
url.path
default value. (#462) - Remove conditional requirement on
network.peer.address
andnetwork.peer.port
(#449) - Change
user_agent.original
from recommended to opt-in on HTTP client spans. (#468) - Change
http.request.body.size
andhttp.response.body.size
from recommended to opt-in. (#460) - Clarify that
client.port
is the port of whichever client was captured inclient.address
. (#471) - Change
client.port
from recommended to opt-in on HTTP server spans (#472) - BREAKING: Make
url.scheme
opt_in for HTTP client and remove default value forserver.port
making it required on the client.
(#459) - Make
client.address
sampling relevant on HTTP server spans. (#469) - Change
network.protocol.name
from opt-in to conditionally required. (#478) - Remove outdated
http.request.header.host
guidance (#479) - Change sampling relevant from
MUST
toSHOULD
(#486) - Make
user_agent.original
andhttp.request.header.*
sampling relevant on HTTP server spans. (#467)
Features
- Adds
session.previous_id
to session.md (#348) - Metric namespaces SHOULD NOT be pluralized. (#267)
- Add opt-in
system.memory.limit
metric. (#409) - Add
host.mac
resource attribute convention. (#340) - Mark HTTP semantic conventions as stable. (#377)
Fixes
- 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) - Add cardinality warning about two opt-in HTTP metric attributes to all HTTP metrics. (#412)
- Remove outdated note about not recording HTTP
server.address
when only IP address available. (#413) - Clarify HTTP server definitions and
server.address|port
notes. (#423) - Change the precedence between
:authority
andHost
headers when populatingserver.address
andserver.port
attributes. (#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
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
- BREAKING: Rename
http.client.duration
andhttp.server.duration
metrics to
http.client.request.duration
andhttp.server.request.duration
respectively.
(#224) - BREAKING: Rename
jvm.classes.current_loaded
metrics tojvm.classes.count
(#60) - BREAKING: Remove pluralization from JVM metric namespaces.
(#252) - BREAKING: Rename metrics
jvm.buffer.usage
tojvm.buffer.memory.usage
andjvm.buffer.limit
tojvm.buffer.memory.limit
.
(#253) - BREAKING: Change HTTP span name when method is unknown (use
HTTP
instead of_OTHER
)
(#270) - 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) - BREAKING: Rename
http.server.request.size
metric tohttp.server.request.body.size
andhttp.server.response.size
metric 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.version
resource attribute totelemetry.distro.version
and addtelemetry.distro.name
resource attribute
(#178) - BREAKING: Add
url.scheme
tohttp.client.*
metrics
(#357) - BREAKING: Remove
server.socket.address
from 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.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) - 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. - 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) - Simplify HTTP metric briefs.
(#276) - Add host cpu resource attributes.
(#209) - Introduce
error.type
attribute and use it in HTTP conventions
(#205) - Moved RPC streaming notes from metric brief section to notes section.
(#275) - Updates
client.address
to allow domain names for consistency withserver.address
.
(#302) - Add
system.linux.memory.available
metric.
(#323) - 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) - Encourage setting
network.transport
when 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.ip
resource attribute convention.
(#203) - Make
network.protocol.name|version
description 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
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.*
, and
net.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)