open-telemetry / open-telemetry/opentelemetry-java

Move opentelemetry-semconv version management to opentelemetry-bom

Open
#7,279 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Request
Dominant language
Java
Stars
2.5k
Forks
1k
Avg merge
3d 17h
Merged PRs (30d)
58

Description

Is your feature request related to a problem?

It is about general dependency management hygiene and logical organization of it: what do you think about moving semconv's (io.opentelemetry.semconv/opentelemetry-semconv) dependency management from opentelemetry-instrumentation-bom to opentelemetry-bom?

From user perspective, opentelemetry-semconv should be next to opentelemetry-api (BOM-wise) since they are providing OTel "~interfaces" and both can be used without the Java instrumentation. This would also help making semconv more loosely coupled (one of OTel's core values) since right now, (logically/BOM-wise) it is a bit more coupled to instrumentation since it is in that BOM.

Describe the solution you'd like

Moving semconv's dependency management to opentelemetry-bom. Right now it is in opentelemetry-instrumentation-bom (see here) and semconv is used by users without instrumentation.

Describe alternatives you've considered

Not sure there is much, there are only two places for it, the current and opentelemetry-bom that I think is a better fit.

Additional context

I think this would not be a breaking change for users since opentelemetry-instrumentation-bom brings in opentelemetry-bom.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with bom/build.gradle.kts at the referenced dependency-management block, then inspect the opentelemetry-bom and opentelemetry-instrumentation-bom definitions. Verify how the two BOMs are composed and run the relevant Gradle build or dependency-management checks. Done means semconv is managed by opentelemetry-bom while instrumentation users retain the expected dependency resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.