Releases: open-telemetry/semantic-conventions
v1.38.0
🛑 Breaking changes 🛑
-
k8s: Renamek8s.node.allocatable.*metrics tok8s.node.*.allocatable(#2973)
Renamed metrics:- k8s.node.allocatable.cpu -> k8s.node.cpu.allocatable
- k8s.node.allocatable.memory -> k8s.node.memory.allocatable
- k8s.node.allocatable.ephemeral_storage -> k8s.node.ephemeral_storage.allocatable
-
k8s: Fix plural-named updowncounter k8s metrics (#2301)
Renamed metrics:- k8s.node.allocatable.pods -> k8s.node.pod.allocatable
- k8s.daemonset.current_scheduled_nodes -> k8s.daemonset.node.current_scheduled
- k8s.daemonset.desired_scheduled_nodes -> k8s.daemonset.node.desired_scheduled
- k8s.daemonset.misscheduled_nodes -> k8s.daemonset.node.misscheduled
- k8s.daemonset.ready_nodes -> k8s.daemonset.node.ready
- k8s.job.active_pods -> k8s.job.pod.active
- k8s.job.failed_pods -> k8s.job.pod.failed
- k8s.job.successful_pods -> k8s.job.pod.successful
- k8s.job.desired_successful_pods -> k8s.job.pod.desired_successful
- k8s.job.max_parallel_pods -> k8s.job.pod.max_parallel
- k8s.cronjob.active_jobs -> k8s.cronjob.job.active
- k8s.deployment.desired_pods -> k8s.deployment.pod.desired
- k8s.deployment.available_pods -> k8s.deployment.pod.available
- k8s.replicaset.desired_pods -> k8s.replicaset.pod.desired
- k8s.replicaset.available_pods -> k8s.replicaset.pod.available
- k8s.replicationcontroller.desired_pods -> k8s.replicationcontroller.pod.desired
- k8s.replicationcontroller.available_pods -> k8s.replicationcontroller.pod.available
- k8s.statefulset.desired_pods -> k8s.statefulset.pod.desired
- k8s.statefulset.ready_pods -> k8s.statefulset.pod.ready
- k8s.statefulset.current_pods -> k8s.statefulset.pod.current
- k8s.statefulset.updated_pods -> k8s.statefulset.pod.updated
- k8s.hpa.desired_pods -> k8s.hpa.pod.desired
- k8s.hpa.current_pods -> k8s.hpa.pod.current
- k8s.hpa.max_pods -> k8s.hpa.pod.max
- k8s.hpa.min_pods -> k8s.hpa.pod.min
-
process: Renames process.context_switch_type to process.context_switch.type (#1501) -
rpc: Attributes for rpc metric are now explicitly associated with metrics. (#2311)
The breaking change is due to the removal of network.type from the metrics. -
system: Markcpu.logical_numberattribute as opt-in forsystem.cpu.timeandsystem.cpu.utilizationmetrics (#2932) -
system, process: Renamesystem.process.statustoprocess.state(#1803) -
system, process: Replacesystem.paging.typeandprocess.paging.fault_typewithsystem.paging.fault.type(#1803) -
v8js: Rename metricv8js.heap.space.available_sizetov8js.memory.heap.space.available_size.
Rename metricv8js.heap.space.physical_sizetov8js.memory.heap.space.physical_size.
(#2856)
🚩 Deprecations 🚩
rpc: Deprecate rpc..requests_per_rpc and rpc..responses_per_rpc metrics. (#2784)system: Fix deprecation of system.cpu.logical_number (#2700)
💡 Enhancements 💡
-
app: Addapp.screen.nameattribute to capture application screen names. (#2743) -
cicd: Add guidance on per pipeline run metrics (#1184) -
cicd: Improve the description ofcicd.workerentities. (#1191) -
cicd: Add guidance on CI/CD logs (#1714) -
db: Add database context propagation viaV$SESSION.ACTIONfor SQL Server (#2610) -
gcp: Documentgcp.apphub_destination.*attributes (#2649) -
gen-ai: Add participant's name on generative AI chat message. (#2943) -
gen-ai: Add tool definitions and execution details for Single and Multi-Agent systems -
Add 'gen_ai.tool.definitions' attribute to 'invoke_agent' span
-
Add 'gen_ai.tool.definitions' attribute to 'attributes.gen_ai.inference.client' attribute group.
-
Add 'gen_ai.tool.call.arguments' and 'gen_ai.tool.call.result' attributes to 'execute_tool' span.
(#2444, #591) -
gen-ai: IntroducingEvaluation Eventin GenAI Semantic Conventions to represent and capture evaluation results.
(#2563) -
gen-ai:invoke_agentspans now include span kind (CLIENT/INTERNAL) guidance and clarify whenserver.*attributes should be set. (#2837) -
gen-ai: Add reasoning content message parts for chat messages. (#1965) -
gen_ai: Addgen_ai.embeddings.dimension.countattribute to capture the dimension count of embeddings. (#2361)
Thegen_ai.embeddings.dimension.countis added to thespan.gen_ai.embeddings.clientspan
andgen_ai.client.operation.durationmetric. -
gen_ai: Add multimodaluri,file, andblobparts to GenAI JSON Schemas (#1556) -
gen_ai, db, enduser, messaging: Fix deprecation reasons - use uncategorized when attribute type is changing. Fix missing/invalid deprecations on (deprecated)gen_ai.systemattribute.
(#2688) -
http: Adds in the HTTP QUERY method. (#2642) -
http: Clarify value forhttp.routeattribute may contain static and dynamic segments. (#2616) -
k8s: Add container CPU limit/request utilization metrics. (#1489) -
k8s: Add k8s.pod.status.phase and k8s.pod.status.reason metrics (#2075) -
k8s: Add memory metrics for k8s.node, k8s.pod and container resources (#2776) -
nfs: Addnfs.*metrics, along with supportingrpc.onc.*/rpc.nfs.*attributes. (#39978) -
openshift: Adds metrics for openshift's clusterquota (#2078) -
pprof: Introduce pprof attributes. (#2522) -
pprof: add attribute pprof.profile.comment. (#2861) -
process: Increases the amount of attributes which are used to describe the running process. (#2655) -
rpc: JSON-RPC now has its own span definition. (#2228) -
rpc: Adds innetwork.protocol.nameandnetwork.protocol.versionto all RPC spans and metrics. (#2719) -
rpc: Adds in explicit span definitions for Connect RPC. (#2720) -
rpc: Removenetwork.typeattribute from RPC spans and metrics (#2851)
Thenetwork.typeattribute is no longer included in RPC semantic conventions.
It remains available in the attribute registry for opt-in usage when needed. -
rpc: Adds in explicitly defined grpc spans. (#2720) -
rpc: Update the RPC stability warning and guidance for instrumentation authors (#2718) -
rpc: The rpc spans now contains theerror.typeattribute to report the type of error that occurred. (#2812)
🧰 Bug fixes 🧰
-
dns: Simplifydns.question.namenote to remove incorrect custom encoding requirements (#2143)
The note now simply states that the domain name should be captured as it appears in the DNS query
without any additional normalization, removing the previous incorrect custom encoding requirements. -
nfs: nfs/metrics.yaml: nfs.server.net.count: add missing network.transport attribute. Implementation not merged, so not a breaking change. (#39978) -
system: Thesystem.network.droppedandsystem.network.packetsmetrics have been added as deprecated rather than being removed. ([#2828](https://github.com/open-te...
v1.37.0
🛑 Breaking changes 🛑
gen-ai: Revamp how GenAI chat history is recorded. Instead of per-message events,
we now havegen_ai.system_instructions,gen_ai.input.messages, and
gen_ai.output.messagesattributes that can appear on GenAI spans or the new
gen_ai.client.inference.operation.detailsevent.
New attributes are not recorded by default when content capturing is disabled.
Deprecations:gen_ai.system.messageevent - usegen_ai.system_instructionsor
gen_ai.input.messagesattributes instead.gen_ai.user.message,gen_ai.assistant.message,gen_ai.tool.messageevents
(usegen_ai.input.messagesattribute instead)gen_ai.choiceevent (usegen_ai.output.messagesattribute instead)
(#2010, #2179, #1913, #1621, #1912)
container: The container runtime can now also have the version and description provided (#2342)gen-ai: Follow system-specific naming policy in GenAI semantic conventions.- Rename
gen_ai.systemtogen_ai.provider.name - Remove
gen_aiprefix fromgen_ai.openai.*attributes. - Rename
az.ai.*attribute names toazure.ai.*.
(#2046)
- Rename
system: Rename system.network.dropped to system.network.packet.dropped and system.network.packets to system.network.packet.count (#1700)
💡 Enhancements 💡
all: Addmetric_value_typecode-generation annotation to all metric definitions. (#2444, #591)http: Clarify howserver.addressandserver.portshould be populated by HTTP client instrumentations. (#2443, #2463)otel: Addotel.scope.schema_urlattribute to non-OTLP exporters that represents an instrumentation scope schema URL. (#2320, #2489)aspnetcore: Add ASP.NET Core Identity metrics and update the registry. (#2509)gen-ai: Add operation name and tool type attributes for Execute tool span. (#2525, #2526)aspnetcore: Add ASP.NET Core authentication and authorization metrics and update the registry. (#2530)aspnetcore: Add ASP.NET Core memory pool metrics and update the registry. (#2532)app: Defines a new app.build_id attribute. (#2591)k8s: Add k8s node, pod, container filesystem metrics (#1488)k8s: Add k8s Pod Volume metrics (#1485)messaging: Added in AWS SNS as messaging systems (#2266)system: Used memory should be based on operating system's internals (#2534)db: Add context propagation via SQL commenter for databases (#2162)hardware: Move text hardware metrics to the hardware components, yaml and md files (#2380)app: Defines a new jank event in the app domain (#2552)docs: Document the "T-Shaped" notion for defining semantic conventions. (#2232)
New Contributors
- @martincostello made their first contribution in #2500
- @joschi made their first contribution in #2539
- @qnnn made their first contribution in #2526
- @LikeTheSalad made their first contribution in #2591
- @Cirilla-zmh made their first contribution in #2679
Full Changelog: v1.36.0...v1.37.0
v1.36.0
🚩 Deprecations 🚩
os: Adds the 'deprecated:' tag/attribute to thez_osenum value ofos.type. This value was recently deprecated in v1.35.0. (#2479)
💡 Enhancements 💡
otel: Replacesotel.sdk.span.endedwithotel.sdk.span.startedand allow differentiation based on the parent span origin (#2431)db: Add database context propagation viaSET CONTEXT_INFOfor 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.platformattribute (#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_idtoazure.service.request.idaz.namespacetoazure.resource_provider.namespace
- Renamed events:
az.resource.logtoazure.resource.log
- Renamed enum members:
az.ai.inferencetoazure.ai.inference(ongen_ai.system)az.ai.openaitoazure.ai.openai(ongen_ai.system)azure_akstoazure.aks(oncloud.platform)azure_app_servicetoazure.app_service(oncloud.platform)azure_container_appstoazure.container_apps(oncloud.platform)azure_container_instancestoazure.container_instances(oncloud.platform)azure_functionstoazure.functions(oncloud.platform)azure_openshifttoazure.open_shift(oncloud.platform)azure_vmtoazure.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.podsmetrics (#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.hpato capture thescaleTargetReffields (#2008)
Adds below attributes to thek8s.hparesource:k8s.hpa.scaletargetref.kindk8s.hpa.scaletargetref.namek8s.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.valuek8s.hpa.metric.target.cpu.average_valuek8s.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 requireroleto be filled for attributes. -
otel: Specifies component.type values for Zipkin and Prometheus exporters (#2229)
🧰 Bug fixes 🧰
otel: Removesotel.scopeentity. (#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_argsandprocess.command_line(#626)
💡 Enhancements 💡
docs: Document system-specific naming conventions (#608, #1494, #1708)gen-ai: Addgen_ai.conversation.idattribute (#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.regiondefinition to explicitly cover both resource location and targeted destination. (#2142)network: Stabilizenetwork.transportenum valuequic. (#2275)
🧰 Bug fixes 🧰
db: Fix thedb.system.nameattribute 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_rowsopt-in onrelease_candidatespans (#2211)db: Use|as the separator whendb.namespaceis a concatenation of multiple components. (#2067)feature_flag: Renamefeature_flag.provider_nametofeature_flag.provider.name(#1982)feature_flag: Use genericerror.messagein feature flag evaluation event (#1994)gen-ai: Refine the values forgen_ai.systemrelated 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 fororacledbinstrumentations. (#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.serverandcicd.pipeline.task.internal.
Addcicd.pipeline.action.name,cicd.worker.id,cicd.worker.name,cicd.worker.url.fullandcicd.pipeline.task.run.resultto attribute registry.
Define resourcescicd.pipeline,cicd.pipeline.runandcicd.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.repoandvcs.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.namerequired where it's available, add recommendation for instrumentation point. (#2200, #2098)db: Adddb.stored_procedure.nameto the general span conventions (#2205)db: Add an option to generatedb.query.summaryfrom operation name and target, remove it from CosmosDB. (#2206)db: Adddb.operation.nameanddb.collection.nameto SQL for higher-level APIs (#2207)jvm: Addjvm.file_descriptor.countas an in-development metric to track the number of open file descriptors as reported by the JVM. (#1838)jvm: Addjvm.gc.causeto metricjvm.gc.durationas 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_contentas 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.summaryfor 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.idand make it opt-in. (#1874, #1951)feature_flag: Renameevaluationtoresultfor feature flag evaluation result attributes (#1989)
🚀 New components 🚀
app: Createapp.installation.idattribute (#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.summaryto 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.messageproperty 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.namevalue should contain the fully qualified function name,code.namespaceis now deprecated (#1677) -
gen-ai: Introducegen_ai.output.typeand deprecategen_ai.openai.request.response_format(#1757) -
mobile: Reworkdevice.app.lifecyclemobile event. (#1880)
Thedevice.app.lifecycleevent has been reworked to use attributes instead
of event body fields. Theios.app.stateandandroid.app.stateattributes
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.systemtodb.system.namein database metrics, and update the values to be consistent with database spans. (#1581) -
session: Movesession.idandsession.previous_idfrom body fields to event attributes, and yamlizesession.startandsession.endevents. (#1845)
As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, thesession.startandsession.endevents 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.countspan 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.idis intended to provide a unique identifier of a pseudonymous enduser. -
k8s: Addk8s.hpa,k8s.resourcequotaandk8s.replicationcontrollerattributes 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.fulland corrects the attribute description ofcicd.pipeline.task.run.url.full(#1796) -
user-agent: Adduser_agent.os.nameanduser_agent.os.versionattributes (#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.nameattribute in favor of the top level event name property on the log record (#1646) -
gen_ai: Renamegen_ai.openai.request.seedtogen_ai.request.seedand use it on general GenAI conventions. (#1715) -
db: Renamedb.systemtodb.system.nameand 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.columnandcode.filepath(#1377, #1599)
code.functionrenamed tocode.function.name
code.linenorenamed tocode.line.number
code.columnrenamed tocode.column.number
code.filepathrenamed tocode.file.path -
system: Replacesystem.network.statewithnetwork.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.errorsandcicd.system.errors. - The CICD attributes
cicd.pipeline.run.state,cicd.pipeline.result,cicd.system.component,cicd.worker.statehave been added to the registry.
- Add metrics
-
gen-ai: Adds OpenAI API compatiblegen_ai.systemattribute values:az.ai.openai,deepseek,gemini,groq,
perplexityandxai. Elaborates thatopenaican 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_aias agen_ai.systemattribute value. (#1719) -
process: Updateprocess.runtimeexample 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.countandsystem.cpu.logical.countare 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.nameattribute to registry and update
vcs.repository.url.fulldescription for consistent representation. Updates
the VCS metrics to includevcs.repository.nameas a recommended attribute.
(#1254, #1453) -
vcs: Addvcs.change.time_to_mergemetric. (#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.directionandvcs.line_change.typehave 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.typehas 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_flagevent tofeature_flag.evaluationevent, define new feature flag attributes and provide body definition. Removefeature_flagspan 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.nameanddb.collection.namefrom query formats that support multiples. (#1566) -
system: Introducenetwork.interface.nameand use that instead ofsystem.devicefor 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.portrequirement level on HTTP server spans (#1387)gen-ai: Add conventions for GenAI Embeddings operations (#1174, #1603)feature_flag: Renamefeature_flag.systemback tofeature_flag.provider_name(#1614)user_agent: Add theuser_agent.synthetic.typeattribute 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_fingerprintattribute (#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_contactedattribute to Cosmos DB metrics and traces. (#1525)db: Added new commondb.client.response.returned_rowsdatabase metric and several operation level metrics for Azure Cosmos DB. (#1438)
🧰 Bug fixes 🧰
-
service: Mergeresourceexperimental and stable groups for service and telemetry.sdk (#1423)
Discovered when fixing weaver#306 -
db: Fix telemetry for complex queries: -
introduce the
db.query.summaryattribute to provide a concise, low-cardinality
representation of the query text. -
use
db.query.summaryas the span name and as a recommended attribute on metrics. -
avoid capturing
db.operation.nameanddb.collection.namewhen 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