fix(golang): prune unused OpenTelemetry packages - #18552
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Prunes unused OpenTelemetry Prometheus-related Go packages to remove dependencies on retired components and unblock Stage 2 rebuilds.
Changes:
- Adds targeted pruning overlays for OpenTelemetry and contrib.
- Moves customized components into dedicated definitions.
- Refreshes locks and rendered RPM specs to release
1.28.0-9.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
base/comps/components.toml |
Removes inline component declarations. |
base/comps/golang-opentelemetry-otel/golang-opentelemetry-otel.comp.toml |
Adds dedicated component definition. |
base/comps/golang-opentelemetry-otel/overlays/0001-drop-unused-prometheus-exporter.overlay.toml |
Prunes the Prometheus exporter and example. |
base/comps/golang-opentelemetry-contrib/golang-opentelemetry-contrib.comp.toml |
Adds dedicated component definition. |
base/comps/golang-opentelemetry-contrib/overlays/0001-drop-unused-prometheus-packages.overlay.toml |
Prunes contrib Prometheus dependency paths. |
locks/golang-opentelemetry-otel.lock |
Refreshes the component fingerprint. |
locks/golang-opentelemetry-contrib.lock |
Refreshes the component fingerprint. |
specs/g/golang-opentelemetry-otel/golang-opentelemetry-otel.spec |
Records rendered pruning and release bump. |
specs/g/golang-opentelemetry-contrib/golang-opentelemetry-contrib.spec |
Records rendered pruning and release bump. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Mitch Zhu (miz060)
marked this pull request as ready for review
August 21, 2026 23:05
Member
Author
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
Mitch Zhu (miz060)
force-pushed
the
mitchzhu/otel-prometheus-prune
branch
from
August 22, 2026 00:10
fe85bdf to
9a6e139
Compare
Remove the unconsumed OpenTelemetry contrib component and OTel exporters, examples, and test helpers that create cycles through gRPC and retired golang-prometheus providers. Retain the OTel API and SDK capabilities consumed by Azure Linux. Signed-off-by: Mitch Zhu <mitchzhu@microsoft.com>
Mitch Zhu (miz060)
force-pushed
the
mitchzhu/otel-prometheus-prune
branch
from
August 22, 2026 00:34
9a6e139 to
187a01b
Compare
Member
Author
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
reuben olinsky (reubeno)
approved these changes
Aug 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removing the retired golang-prometheus and mwitkow conntrack components left the retained OpenTelemetry RPMs in an unsatisfiable build cycle. Azure Linux does not consume OpenTelemetry contrib or the OTel exporters, examples, and test helpers that introduce those cyclic dependencies.
Remove the unconsumed contrib component and prune the unused OTel paths before dependency generation. The OTel API and SDK capabilities consumed by Azure Linux remain available.
Validation:
golang-opentelemetry-otel-devel-1.28.0-9.azl4, against both DEV and PROD Stage 2.1.28.0-9alongside the tagged gRPC1.64.0-10in freshly reset DEV and PROD mock chroots. Neither installation pulled the removed dependency cycle, and Go 1.26 compiled the retained OTel SDK and gRPC packages together.