Releases: open-telemetry/semantic-conventions
v1.36.0
🚩 Deprecations 🚩
os
: Adds the 'deprecated:' tag/attribute to thez_os
enum value ofos.type
. This value was recently deprecated in v1.35.0. (#2479)
💡 Enhancements 💡
otel
: Replacesotel.sdk.span.ended
withotel.sdk.span.started
and allow differentiation based on the parent span origin (#2431)db
: Add database context propagation viaSET CONTEXT_INFO
for SQL Server (#2162)entities
: Adds support for Entity registry and Entity stabilization policies. (#2246)
🧰 Bug fixes 🧰
cloud
: Exclude deprecated Azure members from code generation on thecloud.platform
attribute (#2477, #2455)
Full Changelog: v1.35.0...v1.36.0
v1.35.0
🛑 Breaking changes 🛑
-
azure
: Align azure events, attributes, and enum members with general naming guidelines. (#608, #1708, #1698)- Renamed attributes:
az.service_request_id
toazure.service.request.id
az.namespace
toazure.resource_provider.namespace
- Renamed events:
az.resource.log
toazure.resource.log
- Renamed enum members:
az.ai.inference
toazure.ai.inference
(ongen_ai.system
)az.ai.openai
toazure.ai.openai
(ongen_ai.system
)azure_aks
toazure.aks
(oncloud.platform
)azure_app_service
toazure.app_service
(oncloud.platform
)azure_container_apps
toazure.container_apps
(oncloud.platform
)azure_container_instances
toazure.container_instances
(oncloud.platform
)azure_functions
toazure.functions
(oncloud.platform
)azure_openshift
toazure.open_shift
(oncloud.platform
)azure_vm
toazure.vm
(oncloud.platform
)
- Renamed attributes:
-
system
: Revert the change that movedsystem.cpu.*
tocpu.*
. The 3 affected metrics are back insystem.cpu.*
. (#1873) -
system
: Changes system.network.connections to system.network.connection.count (#1800) -
k8s
: Change instrument type for .limit/.request container metrics from gauge to updowncounter (#2354)
🚩 Deprecations 🚩
os
: Deprecate os.type='z_os' and replace with os.type='zos' (#1687)
🚀 New components 🚀
mainframe, zos
: Add initial semantic conventions for mainframes (#1687)
💡 Enhancements 💡
-
dotnet
: Define .NET-specific network spans for DNS resolution, TLS handshake, and socket connections, along with HTTP-level spans to (optionally) record relationships between HTTP requests and connections.
(#1192) -
k8s
: Addk8s.node.allocatable.cpu
,k8s.node.allocatable.ephemeral_storage
,k8s.node.allocatable.memory
,k8s.node.allocatable.pods
metrics (#2243) -
k8s
: Add k8s.container.restart.count metric (#2191) -
k8s
: Add K8s container resource related metrics (#2074) -
k8s
: Add k8s.container.ready metric (#2074) -
k8s
: Add k8s.node.condition metric (#2077) -
k8s
: Add k8s resource quota metrics (#2076) -
events
: Update general event guidance to allow complex attributes on events and use them instead of the body fields.
(#1651, #1669) -
k8s
: Add k8s.container.status.state and k8s.container.status.reason metrics (#1672) -
feature_flags
: Mark feature flag semantic convention as release candidate. (#2277) -
k8s
: Add new resource attributes fork8s.hpa
to capture thescaleTargetRef
fields (#2008)
Adds below attributes to thek8s.hpa
resource:k8s.hpa.scaletargetref.kind
k8s.hpa.scaletargetref.name
k8s.hpa.scaletargetref.api_version
-
k8s
: Adds metrics and attributes to track k8s HPA's metric target values for CPU resources. (#2182)
Below metrics are introduced to provide insight into HPA scaling configuration for CPU.k8s.hpa.metric.target.cpu.value
k8s.hpa.metric.target.cpu.average_value
k8s.hpa.metric.target.cpu.average_utilization
-
k8s
: Explains the rationale behind the Kubernetes resource naming convention. (#2245) -
all
: Adds modelling guide for resource and entity. (#2246) -
service
: Adds stability policies for Entity groups. (#2378)
Entity groups now requirerole
to be filled for attributes. -
otel
: Specifies component.type values for Zipkin and Prometheus exporters (#2229)
🧰 Bug fixes 🧰
otel
: Removesotel.scope
entity. (#2310)
New Contributors
- @XSAM made their first contribution in #2290
- @crobert-1 made their first contribution in #2309
- @jinja2 made their first contribution in #2252
- @rrschulze made their first contribution in #1741
- @thompson-tomo made their first contribution in #2369
Full Changelog: v1.34.0...v1.35.0
v1.34.0
🛑 Breaking changes 🛑
-
all
: Convert deprecated text to structured format. (#2047)
This is a breaking change from the schema perspective, but does not change anything for instrumentations or the end users. It breaks compatibility with the (old) code generation tooling. Please use weaver to generate Semantic Conventions markdown or code. -
feature_flag
: Move the evaluated value from the event body to attributes (#1990) -
process
: Require sensitive data sanitization forprocess.command_args
andprocess.command_line
(#626)
💡 Enhancements 💡
docs
: Document system-specific naming conventions (#608, #1494, #1708)gen-ai
: Addgen_ai.conversation.id
attribute (#2024)all
: Renames allresource.*
groups to beentity.*
(#2244)
Part of open-telemetry/opentelemetry-specification#4436aws
: Added new AWS attributes for various services including SQS, SNS, Bedrock, Step Functions, Secrets Manager and Kineses (#1794)cloud
: Broadencloud.region
definition to explicitly cover both resource location and targeted destination. (#2142)network
: Stabilizenetwork.transport
enum valuequic
. (#2275)
🧰 Bug fixes 🧰
db
: Fix thedb.system.name
attribute value for MySQL which was incorrectly pointing tomicrosoft.sql_server
. (#2276)
New Contributors
- @AsakerMohd made their first contribution in #1794
- @SrdjanLL made their first contribution in #2238
- @bgrainger made their first contribution in #2276
Full Changelog: v1.33.0...v1.34.0
v1.33.0
This release marks the first where the core of database semantic conventions have stabilized.
🛑 Breaking changes 🛑
db
: Adddb.query.parameter
, replace relevant usages ofdb.operation.parameter
(#2093)db
: Makedb.response.returned_rows
opt-in onrelease_candidate
spans (#2211)db
: Use|
as the separator whendb.namespace
is a concatenation of multiple components. (#2067)feature_flag
: Renamefeature_flag.provider_name
tofeature_flag.provider.name
(#1982)feature_flag
: Use genericerror.message
in feature flag evaluation event (#1994)gen-ai
: Refine the values forgen_ai.system
related to Google's AI endpoints. (#1950)
Enable sharing of attributes between Vertex AI and Gemini through a common prefix.k8s
: Make k8s Node and Pod labels optional (#2079)otel
: Rename span health metrics to remove the .count suffixes (#1979)
🚀 New components 🚀
db
: Adding semantic conventions fororacledb
instrumentations. (#1911)
Oracle Database semantic conventions.browser
: Add browser web vitals event. (#1940)
💡 Enhancements 💡
cicd
: Add resource conventions for CICD systems and define spans for CICD pipeline runs. (#1713)
Define spanscicd.pipeline.run.server
andcicd.pipeline.task.internal
.
Addcicd.pipeline.action.name
,cicd.worker.id
,cicd.worker.name
,cicd.worker.url.full
andcicd.pipeline.task.run.result
to attribute registry.
Define resourcescicd.pipeline
,cicd.pipeline.run
andcicd.worker
.
Add entity associations in cicd metrics for these new cicd resources.vcs
: Add resource conventions for VCS systems and VCS references. (#1713)
Define resourcesvcs.repo
andvcs.ref
.
Add entity associations in vcs metrics for these new vcs resources.gen-ai
: Adding span for invoke agent (#1842)gen-ai
: Adding gen_ai.tool.description to the span attributes (#2087)gen-ai
: Separate inference and embeddings span definitions, remove irrelevant attributes from the create agent span. (#1924, #2122)general
: Provide guidance on modeling lat/lon, x/y, etc (#2145)db
: Movedb.query.parameter.<key>
from release_candidate back to development. (#2194)db
: Mark database semantic conventions as stable for MariaDB, Microsoft SQL Server, MySQL, and PostgreSQL. (#2199)db
: Makedb.operation.name
required where it's available, add recommendation for instrumentation point. (#2200, #2098)db
: Adddb.stored_procedure.name
to the general span conventions (#2205)db
: Add an option to generatedb.query.summary
from operation name and target, remove it from CosmosDB. (#2206)db
: Adddb.operation.name
anddb.collection.name
to SQL for higher-level APIs (#2207)jvm
: Addjvm.file_descriptor.count
as an in-development metric to track the number of open file descriptors as reported by the JVM. (#1838)jvm
: Addjvm.gc.cause
to metricjvm.gc.duration
as an opt-in attribute to track gc cause. (#2065)process
: Add process.environment_variable. (#672)app
: Defines two new click events for the app domain (#2070)code
: Markcode.*
semantic conventions as stable (#1377)k8s
: Introduce semantic conventions for k8s CronJob labels and annotations (#2138)k8s
: Introduce semantic conventions for k8s DaemonSet labels and annotations (#2136)k8s
: Introduce semantic conventions for k8s Deployment labels and annotations (#2134)system
: Added entity association template rendering and policies. (#1276)gen_ai
: Documentgenerate_content
as a permissible value ofgen_ai.operation.name
. (#2048)k8s
: Introduce semantic conventions for k8s Job labels and annotations (#2137)otel
: Adds SDK self-monitoring metrics for metric processing (#2016)k8s
: Introduce semantic conventions for k8s Namespace labels and annotations (#2131)k8s
: Introduce semantic conventions for k8s Node labels and annotations (#2079)k8s
: Introduce semantic conventions for k8s ReplicaSet labels and annotations (#2132)otel
: Adds SDK self-monitoring metric for exporter call duration (#1906)k8s
: Introduce semantic conventions for k8s StatefulSet labels and annotations (#2135)
🧰 Bug fixes 🧰
gen-ai
: Removed irrelevant response attributes on GenAI create agent span. (#1924, #2116)vcs
: Fix typo in gitea name (#2057)gen-ai
: Add invoke_agent as a member of gen_ai.operation.name (#2160)db
: Clarifydb.query.summary
for stored procedures (#2218)
New Contributors
- @sudarshan12s made their first contribution in #1911
- @pellared made their first contribution in #2066
- @Karlie-777 made their first contribution in #1940
- @lzchen made their first contribution in #2007
- @PRATIBHA-Moogi made their first contribution in #2059
- @renovate made their first contribution in #2096
- @odubajDT made their first contribution in #2130
- @schmikei made their first contribution in #2139
- @prestonvasquez made their first contribution in #2158
- @kamphaus made their first contribution in #2013
Full Changelog: v1.32.0...v1.33.0
v1.32.0
📣 This release is the second release candidate for the Database Semantic Conventions, with db conventions stability planned to be declared in the subsequent release.
🛑 Breaking changes 🛑
device
: Change the definition ofdevice.id
and make it opt-in. (#1874, #1951)feature_flag
: Renameevaluation
toresult
for feature flag evaluation result attributes (#1989)
🚀 New components 🚀
app
: Createapp.installation.id
attribute (#1874, #1897)cpython
: Add CPython runtime garbage collector metrics (#1930)
💡 Enhancements 💡
vcs
: Add owner and provider name to VCS attribute registry (#1452)vcs
: Remove fallback value for VCS provider name attribute (#2020)db
: Truncatedb.query.summary
to 255 characters if parsed from the query (#1978)db
: Normalize spaces indb.operation.name
(if any) (#2028)db
:db.operation.parameter.<key>
should not be captured for batch operations (#2026)db
: Adddb.stored_procedure.name
(#1491)gcp
: Adds GCP AppHub labels for resource. (#2006)error
: Adderror.message
property for human-readable error message on events. (#1992)profile
: Extend the list of known frame types with a value for Go and Rust (#2003)otel
: Adds SDK self-monitoring metrics for log processing (#1921)
New Contributors
- @Nevay made their first contribution in #1996
- @bencehornak made their first contribution in #1897
- @afonsonf made their first contribution in #1997
Full Changelog: v1.31.0...v1.32.0
v1.31.0
🛑 Breaking changes 🛑
-
code
:code.function.name
value should contain the fully qualified function name,code.namespace
is now deprecated (#1677) -
gen-ai
: Introducegen_ai.output.type
and deprecategen_ai.openai.request.response_format
(#1757) -
mobile
: Reworkdevice.app.lifecycle
mobile event. (#1880)
Thedevice.app.lifecycle
event has been reworked to use attributes instead
of event body fields. Theios.app.state
andandroid.app.state
attributes
have been reintroduced to the attribute registry. -
system
: Move CPU-related system.cpu.* metrics to CPU namespace (#1873) -
k8s
: Change k8s.replication_controller metrics to k8s.replicationcontroller (#1848) -
db
: Renamedb.system
todb.system.name
in database metrics, and update the values to be consistent with database spans. (#1581) -
session
: Movesession.id
andsession.previous_id
from body fields to event attributes, and yamlizesession.start
andsession.end
events. (#1845)
As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, thesession.start
andsession.end
events have been redefined.
💡 Enhancements 💡
-
code
: Markcode.*
semantic conventions as release candidate (#1377) -
db
: Add database-specific notes on db.operation.name and db.collection.name for Cassandra, Cosmos DB, HBase, MongoDB, and Redis, covering their batch/bulk terms and lack of cross-table queries. (#1863, #1573) -
gen-ai
: Addsgen_ai.request.choice.count
span attribute (#1888)
Enables recording target number of completions to generate -
enduser
: Undeprecate 'enduser.id' and introduce new attributeenduser.pseudo.id
(#1104)
The new attributeenduser.pseudo.id
is intended to provide a unique identifier of a pseudonymous enduser. -
k8s
: Addk8s.hpa
,k8s.resourcequota
andk8s.replicationcontroller
attributes and resources (#1656) -
k8s
: How to populate resource attributes based on attributes, labels and transformation (#236) -
process
: Adjust the semantic expectations forprocess.executable.name
(#1736) -
otel
: Adds SDK self-monitoring metrics for span processing (#1631) -
cicd
: Adds a new attributecicd.pipeline.run.url.full
and corrects the attribute description ofcicd.pipeline.task.run.url.full
(#1796) -
user-agent
: Adduser_agent.os.name
anduser_agent.os.version
attributes (#1433)
🧰 Bug fixes 🧰
process
: Fix units of process.open_file_descriptor.count and process.context_switches (#1662)
New Contributors
- @emdneto made their first contribution in #1827
- @geny200 made their first contribution in #1836
- @niwoerner made their first contribution in #1833
- @heyams made their first contribution in #1456
- @JonasKunz made their first contribution in #1631
- @sincejune made their first contribution in #1917
Special thanks to @chalin with all the link-checking fixes ❤️
Full Changelog: v1.30.0...v1.31.0
v1.30.0
🛑 Breaking changes 🛑
-
event
: Deprecateevent.name
attribute in favor of the top level event name property on the log record (#1646) -
gen_ai
: Renamegen_ai.openai.request.seed
togen_ai.request.seed
and use it on general GenAI conventions. (#1715) -
db
: Renamedb.system
todb.system.name
and clean up its values.
Renamedb.elasticsearch.*
,db.cassandra.*
,db.cosmosdb.*
attributes toelasticsearch.*
,cassandra.*
, andazure.cosmosdb.*
respectively.
Renamedb.client.cosmosdb.*
metrics toazure.cosmosdb.client.*
.
(#1581, #608) -
code
: renamecode.function
,code.lineno
,code.column
andcode.filepath
(#1377, #1599)
code.function
renamed tocode.function.name
code.lineno
renamed tocode.line.number
code.column
renamed tocode.column.number
code.filepath
renamed tocode.file.path
-
system
: Replacesystem.network.state
withnetwork.connection.state
(#308) -
messaging
: RabbitMQ: Specify how to populatemessaging.destination.name
(#1529)
🚀 New components 🚀
security-rule
: Introducing a new security rule namespace (#903)
💡 Enhancements 💡
-
cloud
: Add Oracle Cloud Infrastructure to Semantic Conventions (#1658) -
gen_ai
: Yamlify gen_ai events and clean up examples. (#1469) -
cicd
: Add CICD metrics (#1600)
Makes the following changes:- Add metrics
cicd.pipeline.run.duration
,cicd.pipeline.run.active
,cicd.worker.count
,
cicd.pipeline.run.errors
andcicd.system.errors
. - The CICD attributes
cicd.pipeline.run.state
,cicd.pipeline.result
,cicd.system.component
,cicd.worker.state
have been added to the registry.
- Add metrics
-
gen-ai
: Adds OpenAI API compatiblegen_ai.system
attribute values:az.ai.openai
,deepseek
,gemini
,groq
,
perplexity
andxai
. Elaborates thatopenai
can be ambiguous due to API emulation.
(#1655) -
docs
: Update attribute, events, and metrics naming guidance to include new best practices. (#1694)- Use namespaces (with
.
delimiter) whenever possible. - Use precise, descriptive, unambiguous names that leave room for expansion.
- Use namespaces (with
-
docs, db
: Add common guidance for recording errors on spans and metrics, clarify DB conventions. (#1516, #1536, #1716) -
gen-ai
: Addsmistral_ai
as agen_ai.system
attribute value. (#1719) -
process
: Updateprocess.runtime
example for the Python language. (#1772) -
db
: Add metrics section to each of the database system-specific conventions. (#1447, #1779) -
k8s
: Add metrics for k8s deployment, replicaset, replication_controller, statefulset and hpa. (#1636, #1637, #1644)
This addition focused on providing consistency between these metrics, while
also ensuring alignment with recommendations from Kubernetes.
More details in #1637 -
k8s
: Add k8s deamonset related metrics (#1649) -
k8s
: Add k8s metrics for job and cronjob (#1660) -
k8s
: Add k8s.namespace.phase metric along with the respective attribute (#1668) -
aws
: Add extended request ID to general AWS attributes asaws.extended_request_id
(#1670) -
messaging
: Further clarify{destination}
value on span names (#1635) -
gen_ai
: Introduce gen_ai.request.seed and deprecated gen_ai.openai.request.seed (#1710) -
system
: Adds note about howsystem.cpu.physical.count
andsystem.cpu.logical.count
are calculated (#1780) -
k8s
: Add migration guide for K8s semantic conventions (#1597) -
profile
: Extend the list of known frame types with a value for Erlang (#1735) -
dotnet
: Mark .NET runtime metrics as stable (#1602) -
vcs
: Addsvcs.repository.name
attribute to registry and update
vcs.repository.url.full
description for consistent representation. Updates
the VCS metrics to includevcs.repository.name
as a recommended attribute.
(#1254, #1453) -
vcs
: Addvcs.change.time_to_merge
metric. (#1685)
New Contributors
- @trivikr made their first contribution in #1671
- @codefromthecrypt made their first contribution in #1655
- @MrAlias made their first contribution in #1727
- @geekdave made their first contribution in #1720
- @Viicos made their first contribution in #1772
Full Changelog: v1.29.0...v1.30.0
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