Skip to content

Bump semconv from v1.37.0 to v1.39.0#7789

Merged
dmathieu merged 20 commits into
open-telemetry:mainfrom
itssaharsh:main
Jan 21, 2026
Merged

Bump semconv from v1.37.0 to v1.39.0#7789
dmathieu merged 20 commits into
open-telemetry:mainfrom
itssaharsh:main

Conversation

@itssaharsh
Copy link
Copy Markdown
Contributor

@itssaharsh itssaharsh commented Jan 15, 2026

Fixes #7788

Copilot AI review requested due to automatic review settings January 15, 2026 17:39
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the OpenTelemetry semantic conventions (semconv) package from v1.37.0 to v1.39.0 across the entire codebase. This is a standard dependency upgrade that brings the latest semantic conventions from the OpenTelemetry specification.

Changes:

  • Updated all imports from go.opentelemetry.io/otel/semconv/v1.37.0 to go.opentelemetry.io/otel/semconv/v1.39.0
  • Updated otelconv package imports from v1.37.0/otelconv to v1.39.0/otelconv
  • Updated documentation examples and references in CONTRIBUTING.md to reflect the new version

Reviewed changes

Copilot reviewed 72 out of 72 changed files in this pull request and generated no comments.

Show a summary per file
File Description
trace/auto_test.go Updated semconv import to v1.39.0
trace/auto.go Updated semconv import to v1.39.0
sdk/trace/trace_test.go Updated semconv and otelconv imports to v1.39.0
sdk/trace/span.go Updated semconv import to v1.39.0
sdk/trace/simple_span_processor_test.go Updated semconv and otelconv imports to v1.39.0
sdk/trace/internal/observ/tracer_test.go Updated otelconv import to v1.39.0
sdk/trace/internal/observ/tracer.go Updated otelconv import to v1.39.0
sdk/trace/internal/observ/simple_span_processor_test.go Updated semconv import to v1.39.0
sdk/trace/internal/observ/simple_span_processor.go Updated semconv and otelconv imports to v1.39.0
sdk/trace/internal/observ/batch_span_processor_test.go Updated semconv and otelconv imports to v1.39.0
sdk/trace/internal/observ/batch_span_processor.go Updated semconv and otelconv imports to v1.39.0
sdk/trace/batch_span_processor_test.go Updated semconv and otelconv imports to v1.39.0
sdk/resource/resource_test.go Updated semconv import to v1.39.0
sdk/resource/resource_experimental_test.go Updated semconv import to v1.39.0
sdk/resource/process.go Updated semconv import to v1.39.0
sdk/resource/os_test.go Updated semconv import to v1.39.0
sdk/resource/os.go Updated semconv import to v1.39.0
sdk/resource/host_id.go Updated semconv import to v1.39.0
sdk/resource/env_test.go Updated semconv import to v1.39.0
sdk/resource/env.go Updated semconv import to v1.39.0
sdk/resource/container.go Updated semconv import to v1.39.0
sdk/resource/builtin.go Updated semconv import to v1.39.0
sdk/metric/periodic_reader_test.go Updated otelconv import to v1.39.0
sdk/metric/periodic_reader.go Updated semconv import to v1.39.0
sdk/metric/manual_reader_test.go Updated otelconv import to v1.39.0
sdk/metric/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
sdk/metric/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
sdk/metric/example_test.go Updated semconv import to v1.39.0
sdk/log/simple_test.go Updated semconv and otelconv imports to v1.39.0
sdk/log/logger_test.go Updated semconv and otelconv imports to v1.39.0
sdk/log/internal/observ/simple_log_processor_test.go Updated semconv and otelconv imports to v1.39.0
sdk/log/internal/observ/simple_log_processor.go Updated semconv and otelconv imports to v1.39.0
sdk/log/instrumentation.go Updated semconv and otelconv imports to v1.39.0
metric/example_test.go Updated semconv import to v1.39.0
internal/shared/otlp/otlpmetric/transform/metricdata_test.go.tmpl Updated semconv import to v1.39.0
internal/shared/otlp/otlpmetric/otest/client.go.tmpl Updated semconv import to v1.39.0
internal/shared/otlp/otlplog/transform/log_test.go.tmpl Updated semconv import to v1.39.0
exporters/zipkin/zipkin_test.go Updated semconv import to v1.39.0
exporters/zipkin/model_test.go Updated semconv import to v1.39.0
exporters/zipkin/model.go Updated semconv import to v1.39.0
exporters/stdout/stdouttrace/trace_test.go Updated semconv and otelconv imports to v1.39.0
exporters/stdout/stdouttrace/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/stdout/stdouttrace/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/stdout/stdouttrace/example_test.go Updated semconv import to v1.39.0
exporters/stdout/stdoutmetric/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/stdout/stdoutmetric/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/stdout/stdoutmetric/exporter_test.go Updated semconv and otelconv imports to v1.39.0
exporters/stdout/stdoutmetric/example_test.go Updated semconv import to v1.39.0
exporters/prometheus/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/prometheus/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/prometheus/exporter_test.go Updated semconv import to v1.39.0
exporters/otlp/otlptrace/otlptracehttp/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlptrace/otlptracehttp/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlptrace/otlptracehttp/client_test.go Updated otelconv import to v1.39.0
exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlptrace/otlptracegrpc/client_test.go Updated otelconv import to v1.39.0
exporters/otlp/otlptrace/internal/tracetransform/span_test.go Updated semconv import to v1.39.0
exporters/otlp/otlpmetric/otlpmetrichttp/internal/transform/metricdata_test.go Updated semconv import to v1.39.0
exporters/otlp/otlpmetric/otlpmetrichttp/internal/otest/client.go Updated semconv import to v1.39.0
exporters/otlp/otlpmetric/otlpmetricgrpc/internal/transform/metricdata_test.go Updated semconv import to v1.39.0
exporters/otlp/otlpmetric/otlpmetricgrpc/internal/otest/client.go Updated semconv import to v1.39.0
exporters/otlp/otlplog/otlploghttp/internal/transform/log_test.go Updated semconv import to v1.39.0
exporters/otlp/otlplog/otlploghttp/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlplog/otlploghttp/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlplog/otlploghttp/client_test.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlplog/otlploggrpc/internal/transform/log_test.go Updated semconv import to v1.39.0
exporters/otlp/otlplog/otlploggrpc/internal/observ/instrumentation_test.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlplog/otlploggrpc/internal/observ/instrumentation.go Updated semconv and otelconv imports to v1.39.0
exporters/otlp/otlplog/otlploggrpc/client_test.go Updated semconv and otelconv imports to v1.39.0
bridge/opentracing/mock.go Updated semconv import to v1.39.0
CONTRIBUTING.md Updated semconv import examples and documentation link to v1.39.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@itssaharsh
Copy link
Copy Markdown
Contributor Author

there were some function removed in 1.39.0 like otelconv.RPCGRPCStatusCodeAttr so should i keep those files at 1.37 or find the replacement function change the function?

@dmathieu
Copy link
Copy Markdown
Member

Could you fix the tests and add a changelog entry?

@itssaharsh
Copy link
Copy Markdown
Contributor Author

Could you fix the tests and add a changelog entry?

Yes, I was checking which functions to replace and how right now. Can you guide me through what to add in Changelog entry?

@dmathieu
Copy link
Copy Markdown
Member

I think adding this PR number to the existing entry should be enough. We haven't historically document upgrades (and there's no visible change here anyway).

Add go.opentelemetry.io/otel/semconv/v1.39.0 package. The package contains semantic conventions from the v1.39.0 version of the OpenTelemetry Semantic Conventions. See the migration documentation for information on how to upgrade from go.opentelemetry.io/otel/semconv/v1.38.0. (#7783, #7789)

@itssaharsh
Copy link
Copy Markdown
Contributor Author

I think adding this PR number to the existing entry should be enough. We haven't historically document upgrades (and there's no visible change here anyway).

Add go.opentelemetry.io/otel/semconv/v1.39.0 package. The package contains semantic conventions from the v1.39.0 version of the OpenTelemetry Semantic Conventions. See the migration documentation for information on how to upgrade from go.opentelemetry.io/otel/semconv/v1.38.0. (#7783, #7789)

Okay thanks let me take a look.

@dmathieu
Copy link
Copy Markdown
Member

You don't need to rely on CI for every test run. There are Makefile commands to run both the tests and the linter locally.

@itssaharsh
Copy link
Copy Markdown
Contributor Author

You don't need to rely on CI for every test run. There are Makefile commands to run both the tests and the linter locally.

Oh sorry about that, Did not know about that

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.7%. Comparing base (e1d00bb) to head (1a27c37).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #7789     +/-   ##
=======================================
- Coverage   86.1%   81.7%   -4.4%     
=======================================
  Files        302     304      +2     
  Lines      22046   23230   +1184     
=======================================
+ Hits       18991   18995      +4     
- Misses      2674    3855   +1181     
+ Partials     381     380      -1     
Files with missing lines Coverage Δ
bridge/opentracing/mock.go 76.3% <ø> (ø)
...log/otlploghttp/internal/observ/instrumentation.go 100.0% <ø> (ø)
...otlpmetric/otlpmetricgrpc/internal/otest/client.go 97.5% <ø> (ø)
...otlpmetric/otlpmetrichttp/internal/otest/client.go 97.5% <ø> (ø)
...e/otlptracehttp/internal/observ/instrumentation.go 100.0% <ø> (ø)
...ters/prometheus/internal/observ/instrumentation.go 100.0% <ø> (ø)
...ut/stdoutmetric/internal/observ/instrumentation.go 89.4% <ø> (ø)
...out/stdouttrace/internal/observ/instrumentation.go 100.0% <ø> (ø)
sdk/log/instrumentation.go 100.0% <ø> (ø)
sdk/log/internal/observ/simple_log_processor.go 100.0% <ø> (ø)
... and 13 more

... and 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.

@itssaharsh
Copy link
Copy Markdown
Contributor Author

itssaharsh commented Jan 16, 2026

added this pr number to the changelog should i add anything else?
and what is the codecov/project i can't understand why its failing ?

Comment thread exporters/otlp/otlplog/otlploggrpc/internal/observ/instrumentation.go Outdated
Comment thread exporters/zipkin/model.go Outdated
itssaharsh and others added 3 commits January 17, 2026 00:06
As per maintainer feedback, these changes should be part of a separate migration
to RPC-generic semantic conventions. Keeping only the semconv version bump to v1.39.0.
@pellared pellared changed the title Bump semconv from v1.37.0 to v1.39.0 opentelemetry-go#7788 Bump semconv from v1.37.0 to v1.39.0 Jan 16, 2026
Comment thread exporters/otlp/otlplog/otlploggrpc/internal/observ/instrumentation.go Outdated
Comment thread exporters/otlp/otlplog/otlploggrpc/internal/observ/instrumentation.go Outdated
Comment thread exporters/otlp/otlplog/otlploggrpc/internal/observ/instrumentation_test.go Outdated
itssaharsh and others added 3 commits January 19, 2026 17:57
…tion.go

Co-authored-by: Damien Mathieu <42@dmathieu.com>
…tion.go

Co-authored-by: Damien Mathieu <42@dmathieu.com>
…tion_test.go

Co-authored-by: Damien Mathieu <42@dmathieu.com>
Copy link
Copy Markdown
Member

@flc1125 flc1125 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

Only as a note, there are still some using version v1.37.0, though it cannot be ruled out that maintaining v1.37.0 may be necessary due to backward compatibility reasons.

Comment thread CHANGELOG.md
@dmathieu
Copy link
Copy Markdown
Member

We should note any package with breaking changes in #7806

@dmathieu dmathieu merged commit 61f0e48 into open-telemetry:main Jan 21, 2026
31 of 32 checks passed
@MrAlias MrAlias added this to the v1.40.0 milestone Jan 29, 2026
@MrAlias MrAlias mentioned this pull request Feb 2, 2026
MrAlias added a commit that referenced this pull request Feb 2, 2026
### Added

- Add `Enabled` method to all synchronous instrument interfaces
(`Float64Counter`, `Float64UpDownCounter`, `Float64Histogram`,
`Float64Gauge`, `Int64Counter`, `Int64UpDownCounter`, `Int64Histogram`,
`Int64Gauge`,) in `go.opentelemetry.io/otel/metric`. This stabilizes the
synchronous instrument enabled feature, allowing users to check if an
instrument will process measurements before performing computationally
expensive operations. (#7763)
- Add `AlwaysRecord` sampler in `go.opentelemetry.io/otel/sdk/trace`.
(#7724)
- Add `go.opentelemetry.io/otel/semconv/v1.39.0` package. The package
contains semantic conventions from the `v1.39.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](https://github.com/open-telemetry/opentelemetry-go/blob/298cbedf256b7a9ab3c21e41fc5e3e6d6e4e94aa/semconv/v1.39.0/MIGRATION.md)
for information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.38.0.` (#7783, #7789)

### Changed

- `Exporter` in `go.opentelemetry.io/otel/exporter/prometheus` ignores
metrics with the scope `go.opentelemetry.io/contrib/bridges/prometheus`.
This prevents scrape failures when the Prometheus exporter is
misconfigured to get data from the Prometheus bridge. (#7688)
- Improve performance of concurrent histogram measurements in
`go.opentelemetry.io/otel/sdk/metric`. (#7474)
- Add experimental observability metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdoutmetric`. (#7492)
- Improve the concurrent performance of `HistogramReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` by 4x. (#7443)
- Improve performance of concurrent synchronous gauge measurements in
`go.opentelemetry.io/otel/sdk/metric`. (#7478)
- Improve performance of concurrent exponential histogram measurements
in `go.opentelemetry.io/otel/sdk/metric`. (#7702)
- Improve the concurrent performance of `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar`. (#7447)
- The `rpc.grpc.status_code` attribute in the experimental metrics
emitted from
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` is
replaced with the `rpc.response.status_code` attribute to align with the
semantic conventions. (#7854)
- The `rpc.grpc.status_code` attribute in the experimental metrics
emitted from
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` is
replaced with the `rpc.response.status_code` attribute to align with the
semantic conventions. (#7854)

### Fixed

- Fix bad log message when key-value pairs are dropped because of key
duplication in `go.opentelemetry.io/otel/sdk/log`. (#7662)
- Fix `DroppedAttributes` on `Record` in
`go.opentelemetry.io/otel/sdk/log` to not count the non-attribute
key-value pairs dropped because of key duplication. (#7662)
- Fix `SetAttributes` on `Record` in `go.opentelemetry.io/otel/sdk/log`
to not log that attributes are dropped when they are actually not
dropped. (#7662)
- `WithHostID` detector in `go.opentelemetry.io/otel/sdk/resource` to
use full path for `ioreg` command on Darwin (macOS). (#7818)
- Fix missing `request.GetBody` in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` to
correctly handle HTTP2 GOAWAY frame. (#7794)

### Deprecated

- Deprecate `go.opentelemetry.io/otel/exporters/zipkin`. For more
information, see the [OTel blog post deprecating the Zipkin
exporter](https://opentelemetry.io/blog/2025/deprecating-zipkin-exporters/).
(#7670)

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

Bump to semconv/v1.39.0

5 participants