Skip to content

Releases: open-telemetry/semantic-conventions

v1.39.0

12 Jan 22:11
6d05e92

Choose a tag to compare

🛑 Breaking changes 🛑

  • rpc: Rename rpc.client|server.duration to rpc.client|server.call.duration, change RPC duration metrics from milliseconds to seconds, and clarify metric and span duration semantics for streaming. (#383, #2961)
  • rpc: Rename rpc.grpc.request.metadata and rpc.connect_rpc.request.metadata to rpc.request.metadata
  • rpc.grpc.response.metadata and rpc.connect_rpc.response.metadata to rpc.response.metadata
    (#2869, #3169)
  • rpc: Merge rpc.method and rpc.service into fully-qualified rpc.method attribute. Clarify how to handle possible high cardinality of rpc.method in edge cases. Clarify rpc.method usage in span names. (#2863, #3196, #3223)
  • rpc: Deprecate rpc.grpc.status_code, rpc.connect_rpc.error_code and rpc.jsonrpc.error_code attributes in favor of the more general rpc.response.status_code attribute.
    (#1504, #2920)
  • rpc: Align RPC conventions with naming guidelines. Renames:
    • rpc.system to rpc.system.name. The values are also updated to match
      naming guidelines: connect_rpc is renamed to connectrpc;
      apache_dubbo is renamed to dubbo;
      java_rmi, dotnet_wcf, and onc_rpc are not included in the new enum.
    • rpc.jsonrpc.request_id to jsonrpc.request.id.
    • rpc.jsonrpc.version to jsonrpc.protocol.version.
      (#2703, #2921)
  • system, linux: Rename *.linux.memory metrics and attributes to *.memory.linux (#1661)

🚩 Deprecations 🚩

  • peer: The peer.service attribute has been deprecated in favor of service.peer.name. (#2945)
    The peer.service attribute has been renamed to service.peer.name to align with the service.{name|namespace} resource attributes.
  • process: Introduce process.unix.file_descriptor.count and process.windows.handle.count metrics.
    Deprecate process.open_file_descriptor.count
    (#3188)

💡 Enhancements 💡

  • cloud: Add gcp.agent_engine as a value for cloud.platform (#2957)

  • cloud: Add Oracle Cloud Infrastructure to SemConv Areas list (#3190)

  • cloud: Add Hetzner Cloud to cloud.provider and cloud.platform (#2758)

  • cloud: Add Linode (Akamai Cloud) to cloud.provider and linode_cloud_compute to cloud.platform (#2756)

  • cloud: Add Vultr Cloud to cloud.provider and cloud.platform (#2757)

  • k8s: Add missing entity associations to k8s and container metrics (#3213)

  • k8s: Adds k8s.pod.ip, k8s.pod.hostname and k8s.pod.start_time attributes (#3171)

  • k8s: Define missing roles for entity attributes (#3135)

  • k8s: Promote a selection of k8s and container attributes to alpha (#3120)
    The selected attributes being promoted are used by the Collector Contrib components
    that are targeting stability. See opentelemetry-collector-contrib/#44130

  • k8s: Define roles for k8s entities' attributes (#3017)

  • mcp: Add MCP semantic conventions (#2043, #2083)

  • otel: Add otel.event.name attribute for use by non-OTLP exporters and logging libraries. (#2913)
    The otel.event.name attribute can be used by:

    • Non-OTLP exporters to emit the EventName
    • Applications using existing logging libraries to add event name information that can be used to set the EventName field by Collector or SDK components
  • pprof: add various pprof attributes to support lossless conversion from and to OTel profiles. (#3078)

  • rpc: Use consistent set of attributes between RPC spans and metrics (#2922, #3197)

    • Use rpc.response.status_code on common metrics and spans.
    • Make error.type note consistent between metrics and spans.
    • Promote notes on rpc.method and rpc.service to attribute definition.
  • rpc: Mark rpc.system.name, rpc.method, rpc.service, server.address, and server.port as sampling relevant attributes in RPC spans.
    (#3202)

  • service: Splits service into three entities: namespace, service and instance. (#2880)

  • service: service.peer.name and service.peer.namespace have been introduced as the replacement for peer.service to describe remote services that use both a name and a namespace. (#2945)
    The peer.service attribute could not fully represent the service.{name|namespace} resource attributes;
    service.peer.name and service.peer.namespace provide a more complete representation.

🧰 Bug fixes 🧰

  • rpc: Demote server.address from required to conditionally required (when available) on RPC spans and metrics. Update server.port requirement level accordingly. (#3236)

New Contributors

Full Changelog: v1.38.0...v1.39.0

v1.38.0

29 Oct 20:23
8e16df7

Choose a tag to compare

🛑 Breaking changes 🛑

  • k8s: Rename k8s.node.allocatable.* metrics to k8s.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: Mark cpu.logical_number attribute as opt-in for system.cpu.time and system.cpu.utilization metrics (#2932)

  • system, process: Rename system.process.status to process.state (#1803)

  • system, process: Replace system.paging.type and process.paging.fault_type with system.paging.fault.type (#1803)

  • v8js: Rename metric v8js.heap.space.available_size to v8js.memory.heap.space.available_size.
    Rename metric v8js.heap.space.physical_size to v8js.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: Add app.screen.name attribute to capture application screen names. (#2743)

  • cicd: Add guidance on per pipeline run metrics (#1184)

  • cicd: Improve the description of cicd.worker entities. (#1191)

  • cicd: Add guidance on CI/CD logs (#1714)

  • db: Add database context propagation via V$SESSION.ACTION for SQL Server (#2610)

  • gcp: Document gcp.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: Introducing Evaluation Event in GenAI Semantic Conventions to represent and capture evaluation results.
    (#2563)

  • gen-ai: invoke_agent spans now include span kind (CLIENT/INTERNAL) guidance and clarify when server.* attributes should be set. (#2837)

  • gen-ai: Add reasoning content message parts for chat messages. (#1965)

  • gen_ai: Add gen_ai.embeddings.dimension.count attribute to capture the dimension count of embeddings. (#2361)
    The gen_ai.embeddings.dimension.count is added to the span.gen_ai.embeddings.client span
    and gen_ai.client.operation.duration metric.

  • gen_ai: Add multimodal uri, file, and blob parts 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.system attribute.
    (#2688)

  • http: Adds in the HTTP QUERY method. (#2642)

  • http: Clarify value for http.route attribute 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: Add nfs.* metrics, along with supporting rpc.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 in network.protocol.name and network.protocol.version to all RPC spans and metrics. (#2719)

  • rpc: Adds in explicit span definitions for Connect RPC. (#2720)

  • rpc: Remove network.type attribute from RPC spans and metrics (#2851)
    The network.type attribute 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 the error.type attribute to report the type of error that occurred. (#2812)

🧰 Bug fixes 🧰

  • dns: Simplify dns.question.name note 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: The system.network.dropped and system.network.packets metrics have been added as deprecated rather than being removed. ([#2828](https://github.com/open-te...

Read more

v1.37.0

25 Aug 23:38
aec6e9d

Choose a tag to compare

🛑 Breaking changes 🛑

  • gen-ai: Revamp how GenAI chat history is recorded. Instead of per-message events,
    we now have gen_ai.system_instructions, gen_ai.input.messages, and
    gen_ai.output.messages attributes that can appear on GenAI spans or the new
    gen_ai.client.inference.operation.details event.
    New attributes are not recorded by default when content capturing is disabled.
    Deprecations:
    • gen_ai.system.message event - use gen_ai.system_instructions or
      gen_ai.input.messages attributes instead.
    • gen_ai.user.message, gen_ai.assistant.message, gen_ai.tool.message events
      (use gen_ai.input.messages attribute instead)
    • gen_ai.choice event (use gen_ai.output.messages attribute 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.system to gen_ai.provider.name
    • Remove gen_ai prefix from gen_ai.openai.* attributes.
    • Rename az.ai.* attribute names to azure.ai.*.
      (#2046)
  • system: Rename system.network.dropped to system.network.packet.dropped and system.network.packets to system.network.packet.count (#1700)

💡 Enhancements 💡

  • all: Add metric_value_type code-generation annotation to all metric definitions. (#2444, #591)
  • http: Clarify how server.address and server.port should be populated by HTTP client instrumentations. (#2443, #2463)
  • otel: Add otel.scope.schema_url attribute 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

Full Changelog: v1.36.0...v1.37.0

v1.36.0

05 Jul 16:55
4b2c0e6

Choose a tag to compare

🚩 Deprecations 🚩

  • os: Adds the 'deprecated:' tag/attribute to the z_os enum value of os.type. This value was recently deprecated in v1.35.0. (#2479)

💡 Enhancements 💡

  • otel: Replaces otel.sdk.span.ended with otel.sdk.span.started and allow differentiation based on the parent span origin (#2431)
  • db: Add database context propagation via SET 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 the cloud.platform attribute (#2477, #2455)

Full Changelog: v1.35.0...v1.36.0

v1.35.0

30 Jun 20:02
a497728

Choose a tag to compare

🛑 Breaking changes 🛑

  • azure: Align azure events, attributes, and enum members with general naming guidelines. (#608, #1708, #1698)

    • Renamed attributes:
      • az.service_request_id to azure.service.request.id
      • az.namespace to azure.resource_provider.namespace
    • Renamed events:
      • az.resource.log to azure.resource.log
    • Renamed enum members:
      • az.ai.inference to azure.ai.inference (on gen_ai.system)
      • az.ai.openai to azure.ai.openai (on gen_ai.system)
      • azure_aks to azure.aks (on cloud.platform)
      • azure_app_service to azure.app_service (on cloud.platform)
      • azure_container_apps to azure.container_apps (on cloud.platform)
      • azure_container_instances to azure.container_instances (on cloud.platform)
      • azure_functions to azure.functions (on cloud.platform)
      • azure_openshift to azure.open_shift (on cloud.platform)
      • azure_vm to azure.vm (on cloud.platform)
  • system: Revert the change that moved system.cpu.* to cpu.*. The 3 affected metrics are back in system.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: Add k8s.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 for k8s.hpa to capture the scaleTargetRef fields (#2008)
    Adds below attributes to the k8s.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 require role to be filled for attributes.

  • otel: Specifies component.type values for Zipkin and Prometheus exporters (#2229)

🧰 Bug fixes 🧰

  • otel: Removes otel.scope entity. (#2310)

New Contributors

Full Changelog: v1.34.0...v1.35.0

v1.34.0

19 May 19:48
e96d8de

Choose a tag to compare

🛑 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 for process.command_args and process.command_line (#626)

💡 Enhancements 💡

  • docs: Document system-specific naming conventions (#608, #1494, #1708)
  • gen-ai: Add gen_ai.conversation.id attribute (#2024)
  • all: Renames all resource.* groups to be entity.* (#2244)
    Part of open-telemetry/opentelemetry-specification#4436
  • aws: Added new AWS attributes for various services including SQS, SNS, Bedrock, Step Functions, Secrets Manager and Kineses (#1794)
  • cloud: Broaden cloud.region definition to explicitly cover both resource location and targeted destination. (#2142)
  • network: Stabilize network.transport enum value quic. (#2275)

🧰 Bug fixes 🧰

  • db: Fix the db.system.name attribute value for MySQL which was incorrectly pointing to microsoft.sql_server. (#2276)

New Contributors

Full Changelog: v1.33.0...v1.34.0

v1.33.0

02 May 19:48
9e993af

Choose a tag to compare

This release marks the first where the core of database semantic conventions have stabilized.

🛑 Breaking changes 🛑

  • db: Add db.query.parameter, replace relevant usages of db.operation.parameter (#2093)
  • db: Make db.response.returned_rows opt-in on release_candidate spans (#2211)
  • db: Use | as the separator when db.namespace is a concatenation of multiple components. (#2067)
  • feature_flag: Rename feature_flag.provider_name to feature_flag.provider.name (#1982)
  • feature_flag: Use generic error.message in feature flag evaluation event (#1994)
  • gen-ai: Refine the values for gen_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 for oracledb 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 spans cicd.pipeline.run.server and cicd.pipeline.task.internal.
    Add cicd.pipeline.action.name, cicd.worker.id, cicd.worker.name, cicd.worker.url.full andcicd.pipeline.task.run.result to attribute registry.
    Define resources cicd.pipeline, cicd.pipeline.run and cicd.worker.
    Add entity associations in cicd metrics for these new cicd resources.
  • vcs: Add resource conventions for VCS systems and VCS references. (#1713)
    Define resources vcs.repo and vcs.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: Move db.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: Make db.operation.name required where it's available, add recommendation for instrumentation point. (#2200, #2098)
  • db: Add db.stored_procedure.name to the general span conventions (#2205)
  • db: Add an option to generate db.query.summary from operation name and target, remove it from CosmosDB. (#2206)
  • db: Add db.operation.name and db.collection.name to SQL for higher-level APIs (#2207)
  • jvm: Add jvm.file_descriptor.count as an in-development metric to track the number of open file descriptors as reported by the JVM. (#1838)
  • jvm: Add jvm.gc.cause to metric jvm.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: Mark code.* 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: Document generate_content as a permissible value of gen_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: Clarify db.query.summary for stored procedures (#2218)

New Contributors

Full Changelog: v1.32.0...v1.33.0

v1.32.0

31 Mar 16:00
6814d83

Choose a tag to compare

📣 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 of device.id and make it opt-in. (#1874, #1951)
  • feature_flag: Rename evaluation to result for feature flag evaluation result attributes (#1989)

🚀 New components 🚀

  • app: Create app.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: Truncate db.query.summary to 255 characters if parsed from the query (#1978)
  • db: Normalize spaces in db.operation.name (if any) (#2028)
  • db: db.operation.parameter.<key> should not be captured for batch operations (#2026)
  • db: Add db.stored_procedure.name (#1491)
  • gcp: Adds GCP AppHub labels for resource. (#2006)
  • error: Add error.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

Full Changelog: v1.31.0...v1.32.0

v1.31.0

11 Mar 00:53
c01aa89

Choose a tag to compare

🛑 Breaking changes 🛑

  • code: code.function.name value should contain the fully qualified function name, code.namespace is now deprecated (#1677)

  • gen-ai: Introduce gen_ai.output.typeand deprecate gen_ai.openai.request.response_format (#1757)

  • mobile: Rework device.app.lifecycle mobile event. (#1880)
    The device.app.lifecycle event has been reworked to use attributes instead
    of event body fields. The ios.app.state and android.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: Rename db.system to db.system.name in database metrics, and update the values to be consistent with database spans. (#1581)

  • session: Move session.id and session.previous_id from body fields to event attributes, and yamlize session.start and session.end events. (#1845)
    As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, the session.start and session.end events have been redefined.

💡 Enhancements 💡

  • code: Mark code.* semantic conventions as release candidate (#1377)

  • gen-ai: Added AI Agent Semantic Convention (#1732, #1739)

  • 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: Adds gen_ai.request.choice.count span attribute (#1888)
    Enables recording target number of completions to generate

  • enduser: Undeprecate 'enduser.id' and introduce new attribute enduser.pseudo.id (#1104)
    The new attribute enduser.pseudo.id is intended to provide a unique identifier of a pseudonymous enduser.

  • k8s: Add k8s.hpa, k8s.resourcequota and k8s.replicationcontroller attributes and resources (#1656)

  • k8s: How to populate resource attributes based on attributes, labels and transformation (#236)

  • process: Adjust the semantic expectations for process.executable.name (#1736)

  • otel: Adds SDK self-monitoring metrics for span processing (#1631)

  • cicd: Adds a new attribute cicd.pipeline.run.url.full and corrects the attribute description of cicd.pipeline.task.run.url.full (#1796)

  • user-agent: Add user_agent.os.name and user_agent.os.version attributes (#1433)

🧰 Bug fixes 🧰

  • process: Fix units of process.open_file_descriptor.count and process.context_switches (#1662)

New Contributors

Special thanks to @chalin with all the link-checking fixes ❤️

Full Changelog: v1.30.0...v1.31.0

v1.30.0

24 Jan 19:11
ac424df

Choose a tag to compare

🛑 Breaking changes 🛑

  • event: Deprecate event.name attribute in favor of the top level event name property on the log record (#1646)

  • gen_ai: Rename gen_ai.openai.request.seed to gen_ai.request.seed and use it on general GenAI conventions. (#1715)

  • db: Rename db.system to db.system.name and clean up its values.
    Rename db.elasticsearch.*, db.cassandra.*, db.cosmosdb.* attributes to elasticsearch.*, cassandra.*, and azure.cosmosdb.* respectively.
    Rename db.client.cosmosdb.* metrics to azure.cosmosdb.client.*.
    (#1581, #608)

  • code: rename code.function, code.lineno, code.column and code.filepath (#1377, #1599)
    code.function renamed to code.function.name
    code.lineno renamed to code.line.number
    code.column renamed to code.column.number
    code.filepath renamed to code.file.path

  • system: Replace system.network.state with network.connection.state (#308)

  • messaging: RabbitMQ: Specify how to populate messaging.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 and cicd.system.errors.
    • The CICD attributes cicd.pipeline.run.state, cicd.pipeline.result, cicd.system.component, cicd.worker.state have been added to the registry.
  • gen-ai: Adds OpenAI API compatible gen_ai.system attribute values: az.ai.openai, deepseek, gemini, groq,
    perplexity and xai. Elaborates that openai 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.
  • docs, db: Add common guidance for recording errors on spans and metrics, clarify DB conventions. (#1516, #1536, #1716)

  • gen-ai: Adds mistral_ai as a gen_ai.system attribute value. (#1719)

  • process: Update process.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 as aws.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 how system.cpu.physical.count and system.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: Adds vcs.repository.name attribute to registry and update
    vcs.repository.url.full description for consistent representation. Updates
    the VCS metrics to include vcs.repository.name as a recommended attribute.
    (#1254, #1453)

  • vcs: Add vcs.change.time_to_merge metric. (#1685)

New Contributors

Full Changelog: v1.29.0...v1.30.0