Skip to content

Conversation

@MrAlias
Copy link
Contributor

@MrAlias MrAlias commented Jul 15, 2025

Resolve #7030

This generation fixes the following:

  • The semconv/weaver.yaml file is moved to the semconv/templates/registry/go to fix the generation.
  • Deprecated enum vars are no longer generate.
    • The deprecation of the previous OSTypeZOS (z_os) conflicts with the replacement (zos).
    • This matches all other generations where deprecated types are not generated and the migration docs identify users need to upgrade when upgrading packages.
  • Fix metric description rendering to handle multi-line metric descriptions.
  • Fix filter of deprecated metrics in weaver configuration (see The jq function semconv_signal does not filter deprecated weaver#847).

The release notes for v1.35.0 are included as we do not plan to add a package for that release and it includes breaking changes being released here (i.e. az.namespace and az.service_request_id)

v1.36.0 semantic convention release notes

🚩 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)

v1.35.0 semantic convention release notes

🛑 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)

@MrAlias MrAlias added this to the v1.38.0 milestone Jul 15, 2025
@codecov
Copy link

codecov bot commented Jul 15, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.8%. Comparing base (a6782b9) to head (041249f).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@          Coverage Diff          @@
##            main   #7032   +/-   ##
=====================================
  Coverage   82.7%   82.8%           
=====================================
  Files        261     261           
  Lines      24341   24341           
=====================================
+ Hits       20154   20156    +2     
+ Misses      3812    3810    -2     
  Partials     375     375           

see 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MrAlias
Copy link
Contributor Author

MrAlias commented Jul 15, 2025

Links that are failing the link checker are from the semantic conventions themselves. I do not plan to address any of these failures.

@MrAlias MrAlias marked this pull request as ready for review July 15, 2025 20:53
@dmathieu
Copy link
Member

Should we ignore the link checker in all generated semconv?

@pellared
Copy link
Member

pellared commented Jul 16, 2025

Side note: having this merged will help #2547 moving forward 😉
See: #7027

@MrAlias
Copy link
Contributor Author

MrAlias commented Jul 16, 2025

Should we ignore the link checker in all generated semconv?

I'm open to someone adding that if you want.

@MrAlias MrAlias merged commit 5e212ba into open-telemetry:main Jul 16, 2025
32 of 33 checks passed
@MrAlias MrAlias deleted the semconv-v1.36.0 branch July 16, 2025 20:33
@MrAlias MrAlias mentioned this pull request Aug 29, 2025
MrAlias added a commit that referenced this pull request Aug 29, 2025
This release is the last to support [Go 1.23].
The next release will require at least [Go 1.24].

### Added

- Add native histogram exemplar support in
`go.opentelemetry.io/otel/exporters/prometheus`. (#6772)
- Add template attribute functions to the
`go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6939)
  - `ContainerLabel`
  - `DBOperationParameter`
  - `DBSystemParameter`
  - `HTTPRequestHeader`
  - `HTTPResponseHeader`
  - `K8SCronJobAnnotation`
  - `K8SCronJobLabel`
  - `K8SDaemonSetAnnotation`
  - `K8SDaemonSetLabel`
  - `K8SDeploymentAnnotation`
  - `K8SDeploymentLabel`
  - `K8SJobAnnotation`
  - `K8SJobLabel`
  - `K8SNamespaceAnnotation`
  - `K8SNamespaceLabel`
  - `K8SNodeAnnotation`
  - `K8SNodeLabel`
  - `K8SPodAnnotation`
  - `K8SPodLabel`
  - `K8SReplicaSetAnnotation`
  - `K8SReplicaSetLabel`
  - `K8SStatefulSetAnnotation`
  - `K8SStatefulSetLabel`
  - `ProcessEnvironmentVariable`
  - `RPCConnectRPCRequestMetadata`
  - `RPCConnectRPCResponseMetadata`
  - `RPCGRPCRequestMetadata`
  - `RPCGRPCResponseMetadata`
- Add `ErrorType` attribute helper function to the
`go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6962)
- Add `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log`
which can be used to disable deduplication for log records. (#6968)
- Add `WithCardinalityLimit` option to configure the cardinality limit
in `go.opentelemetry.io/otel/sdk/metric`. (#6996, #7065, #7081, #7164,
#7165, #7179)
- Add `Clone` method to `Record` in `go.opentelemetry.io/otel/log` that
returns a copy of the record with no shared state. (#7001)
- Add experimental self-observability span and batch span processor
metrics in `go.opentelemetry.io/otel/sdk/trace`. Check the
`go.opentelemetry.io/otel/sdk/trace/internal/x` package documentation
for more information. (#7027, #6393, #7209)
- The `go.opentelemetry.io/otel/semconv/v1.36.0` package. The package
contains semantic conventions from the `v1.36.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](./semconv/v1.36.0/MIGRATION.md) for information on how to
upgrade from `go.opentelemetry.io/otel/semconv/v1.34.0.`(#7032, #7041)
- Add support for configuring Prometheus name translation using
`WithTranslationStrategy` option in
`go.opentelemetry.io/otel/exporters/prometheus`. The current default
translation strategy when UTF-8 mode is enabled is
`NoUTF8EscapingWithSuffixes`, but a future release will change the
default strategy to `UnderscoreEscapingWithSuffixes` for compliance with
the specification. (#7111)
- Add experimental self-observability log metrics in
`go.opentelemetry.io/otel/sdk/log`. Check the
`go.opentelemetry.io/otel/sdk/log/internal/x` package documentation for
more information. (#7121)
- Add experimental self-observability trace exporter metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. Check the
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x`
package documentation for more information. (#7133)
- Support testing of [Go 1.25]. (#7187)
- The `go.opentelemetry.io/otel/semconv/v1.37.0` package. The package
contains semantic conventions from the `v1.37.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](./semconv/v1.37.0/MIGRATION.md) for information on how to
upgrade from `go.opentelemetry.io/otel/semconv/v1.36.0.`(#7254)

### Changed

- Optimize `TraceIDFromHex` and `SpanIDFromHex` in
`go.opentelemetry.io/otel/sdk/trace`. (#6791)
- Change `AssertEqual` in `go.opentelemetry.io/otel/log/logtest` to
accept `TestingT` in order to support benchmarks and fuzz tests. (#6908)
- Change `DefaultExemplarReservoirProviderSelector` in
`go.opentelemetry.io/otel/sdk/metric` to use `runtime.GOMAXPROCS(0)`
instead of `runtime.NumCPU()` for the `FixedSizeReservoirProvider`
default size. (#7094)

### Fixed

- `SetBody` method of `Record` in `go.opentelemetry.io/otel/sdk/log` now
deduplicates key-value collections (`log.Value` of `log.KindMap` from
`go.opentelemetry.io/otel/log`). (#7002)
- Fix `go.opentelemetry.io/otel/exporters/prometheus` to not append a
suffix if it's already present in metric name. (#7088)
- Fix the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`
self-observability component type and name. (#7195)
- Fix partial export count metric in
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7199)

### Deprecated

- Deprecate `WithoutUnits` and `WithoutCounterSuffixes` options,
preferring `WithTranslationStrategy` instead. (#7111)
- Deprecate support for `OTEL_GO_X_CARDINALITY_LIMIT` environment
variable in `go.opentelemetry.io/otel/sdk/metric`. Use
`WithCardinalityLimit` option instead. (#7166)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generate semconv/v1.36.0

4 participants