Skip to content

Conversation

@jsternberg
Copy link
Contributor

This change prevents changes to the otel version from affecting the otel
sdk version. This is done by copying the telemetry sdk implementation
locally and using our own choice for semconv from within that.

This prevents a schema conflict from happening since the otel version of
the sdk gets implicitly updated whenever the semconv changes while we
have to manually change ours. Now, we manually change both and they're
locked to each other.

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
cli/command/telemetry.go 0.00% 8 Missing ⚠️

📢 Thoughts on this report? Let us know!

@austinvazquez austinvazquez requested a review from Copilot October 22, 2025 21:03
Copy link

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 locks the OpenTelemetry SDK semantic conventions version to prevent schema conflicts. The change updates OTel dependencies from v1.35.0 to v1.38.0 and implements a local telemetry SDK detector using a specific semconv version (v1.37.0) instead of relying on the SDK's default, which automatically updates with dependency changes.

Key Changes:

  • Updated OTel core packages to v1.38.0 (otel, otel/metric, otel/trace)
  • Replaced resource.WithTelemetrySDK() with a custom telemetrySDK detector
  • Pinned semantic conventions to v1.37.0

Reviewed Changes

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

File Description
vendor.mod Updates OTel dependencies from v1.35.0 to v1.38.0 and transitive dependencies
vendor.sum Reflects checksums for updated dependency versions
cli/command/telemetry.go Implements custom telemetry SDK detector with locked semconv v1.37.0

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

vendor.mod Outdated
github.com/xeipuuv/gojsonschema v1.2.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0
go.opentelemetry.io/otel v1.35.0
go.opentelemetry.io/otel v1.38.0
Copy link
Member

Choose a reason for hiding this comment

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

Curious; was the OTEL version update needed for this to work, or would the previous version do as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Previous version would work.

This change prevents changes to the otel version from affecting the otel
sdk version. This is done by copying the telemetry sdk implementation
locally and using our own choice for semconv from within that.

This prevents a schema conflict from happening since the otel version of
the sdk gets implicitly updated whenever the semconv changes while we
have to manually change ours. Now, we manually change both and they're
locked to each other.

Signed-off-by: Jonathan A. Sternberg <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah
Copy link
Member

Updated this to continue using the current semconv and OTEL version; I moved those updates to #6578

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

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

LGTM

CI is happy; I'll move the other PR out of draft later, but wanted this path in without the Otel bump, to keep the option open to include this in a 28.x patch release.

@thaJeztah thaJeztah merged commit 715467c into docker:master Oct 27, 2025
87 checks passed
@jsternberg jsternberg deleted the otel-sdk-lock-version branch October 28, 2025 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants