Skip to content

Releases: open-telemetry/semantic-conventions

v1.40.0

19 Feb 17:50
7fe5373

Choose a tag to compare

🛑 Breaking changes 🛑

  • db: Oracle's db.namespace updated to represent only the database’s
    unique identifier. Information previously bundled into db.namespace —including
    PDB name, instance name, and service name — has been moved to dedicated attributes:
    oracle.db.pdb, oracle.db.instance.name, and oracle.db.service.
    Introduced a new oracle.db.domain attribute to capture the database domain
    (DB_DOMAIN).
    (#2147)
  • error, feature-flags: Deprecate error.message in favor of using domain-specific codes such as feature_flag.error.message.
    (#3307, #3308)
  • rpc: Remove network.protocol.name, network.protocol.version, and network.transport attributes from RPC spans and metrics.
    (#3349, #3350)
  • system: Rename system.memory.shared to system.memory.linux.shared (#3260)
    The system.memory.shared metric has been renamed to system.memory.linux.shared to align with other Linux-specific memory metrics (system.memory.linux.available and system.memory.linux.slab.usage). This metric reports shared memory used, primarily by tmpfs, and is only available on Linux systems.

🚩 Deprecations 🚩

  • exceptions: Update exception recording guidelines to not use span events. (#3256)
  • rpc: Deprecate experimental rpc.server.request.size, rpc.server.response.size, rpc.client.request.size, and rpc.client.response.size metrics due to ambiguous definitions and inconsistent implementation.
    (#3267)
  • rpc: Deprecate the rpc.message event and its attributes (#3266, #3283)
    Per-message events within RPC streaming calls are of limited utility in their current form. They are recorded as span events (also being deprecated). There is no direct replacement at this time.

💡 Enhancements 💡

  • cloud: Add oracle_cloud.realm vendor-specific attribute for Oracle Cloud Infrastructure (OCI) realm identifier. (#3121)
    An Oracle Cloud realm is a logical collection of cloud regions that are isolated from each other, used for compliance and data residency requirements.

  • db: Mark the Oracle Database client span as Release Candidate. (#2989)

  • db: Modify area to oracledb from oracle (#3316)

  • db: Clarified db.query.summary behavior for batch operations. (#3287)

  • db, rpc: Define domain-specific exception events for database and RPC (#3426)
    These domain-specific exception events provide a structured way to record
    exceptions that occur during operations in each area:

    • db.client.operation.exception for database client operations
    • rpc.client.call.exception and rpc.server.call.exception for RPC
  • docs: Add how-to guide for defining spans (#3240)

  • event: Allow event body to represent a display message. (#3343)

  • exception: Indicate that exception.message attribute may contain sensitive information. (#2967, #3310)

  • exceptions: Introduce OTEL_SEMCONV_EXCEPTION_SIGNAL_OPT_IN environment variable for transitioning exception recording from span events to logs. (#3363)

  • gcp: Add GCP GCE Instance Group Manager attributes (#905)

  • gen-ai: Add retrieval span support to the gen-ai semantic conventions. (#2907)

  • gen-ai: Enhance how tool calls are captured to extend support for server side tools.
    (#2585)

  • gen-ai: Add gen_ai.agent.version attribute to capture the version of an agent. (#3428)

  • gen-ai: Add cache token attributes and provider-specific normalization guidance for GenAI usage metrics (#1959)

    • Add gen_ai.usage.cache_read.input_tokens attribute for tokens served from provider cache
    • Add gen_ai.usage.cache_creation.input_tokens attribute for tokens written to provider cache
    • Add provider-specific token handling notes to OpenAI span
    • Add Anthropic span with computation guidance for gen_ai.usage.input_tokens
  • gen_ai: Added sampling-relevant flag to relevant GenAI span attributes to indicate their importance for sampling decisions. (#2994)

  • http: Defined declarative configuration for overriding known HTTP methods. (#3394)

  • http: Define declarative configuration for sensitive query parameters. (#3403)

  • http: Define http.client.request.exception and http.server.request.exception events for recording exceptions during HTTP operations (#3414)
    These domain-specific exception events provide a structured way to record
    exceptions that occur during HTTP client requests (network failures, timeouts)
    and HTTP server request processing (application errors, internal failures).

  • jvm: Add jvm.file_descriptor.limit as an in-development metric to track the maximum number of open file descriptors as reported by the JVM. (#3430)

  • k8s: Promote a selection of k8s and container attributes to beta (#3120)

  • k8s: Add k8s.service entity with endpoint and load balancer ingress metrics (#3294)
    New metrics:

    • k8s.service.endpoint.count: Number of endpoints by condition, address type, and zone
    • k8s.service.load_balancer.ingress.count: Number of load balancer ingress points
      New attributes:
    • k8s.service.endpoint.condition, k8s.service.endpoint.address_type, k8s.service.endpoint.zone
    • k8s.service.traffic_distribution, k8s.service.publish_not_ready_addresses
      New entity:
    • entity.k8s.service: k8s service entity with identifying and descriptive attributes
  • openai: Add openai.api.type attribute to distinguish between different OpenAI API types for similar operations. (#3337)

  • pprof: add pprof.scope.default_sample_type and pprof.scope.sample_type_order attributes to support lossless conversion of pprof profiles. (#3078)

  • rpc: Mark core RPC (plus gRPC and Apache Dubbo) semantic conventions as release candidate. (#3446)

  • rpc: Add Metrics sections to JSON-RPC, gRPC, and Connect RPC system-specific conventions (#3319, #3320)

  • rpc: Change rpc.server.call.duration and rpc.client.call.duration metrics from recommended to required (#3284)

  • rpc: Add RPC migration guide documenting changes from v1.37.0 to latest version. (#3204)

  • rpc: Clarify that network.peer.address should indicate the last contacted address in case of retries.
    (#3392, #3427)

  • rpc: Add semantic conventions for Apache Dubbo RPC system. (#3291)

  • rpc: Clarify how to populate server.address and server.port when using client-side load balancing or service discovery.
    (#3258, #3317)

  • service: Add service.criticality attribute to classify services based on operational importance (#2986)
    This attribute enables observability platforms to implement criticality-aware tracing, monitoring,
    and sampling strategies. Supports four levels: critical, high, medium, and low.

  • service: Stabilize service.instance.id attribute. (#1519)
    The...

Read more

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