Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new semantic-conventions-java repository #1638

Closed
jack-berg opened this issue Aug 9, 2023 · 4 comments
Closed

Create new semantic-conventions-java repository #1638

jack-berg opened this issue Aug 9, 2023 · 4 comments

Comments

@jack-berg
Copy link
Member

The opentelemetry-java repo currently publishes an artifact containing generated classes with attributes from the semantic conventions. With the split of semantic conventions from opentelemetry-specification to semantic-conventions, and with the approaching stability of http semantic conventions, we want to split out this code generation to a dedicated repository called semantic-conventions-java. Tracking this issue from opentelemetry-java's side here.

The current process causes confusion because opentelemetry-java publishes new versions monthly, with all artifacts versioned in lockstep. This produces confusing artifact versions, as io.opentelemetry:opentelemetry-semconv has versions which are different from the version of semantic conventions used to generate them.

This new repo would publish new versions in lockstep with semantic-conventions.

cc @open-telemetry/java-maintainers @open-telemetry/specs-semconv-approvers

I know I already have the ✅ from the java maintainers. If the semantic convention conventions maintainers agree, I'll go ahead and get started on the new repo.

@Oberon00
Copy link
Member

Oberon00 commented Aug 10, 2023

This only works in an ideal world where your Java artifacts make breaking changes and bug-fixes in lockstep with the specification. I am not sure if this is a good idea.
(For some internal convention artifact at Dynatrace, we used such a common version, but a precondition we wanted for that was that we could bump the version of the overall convention in response to a single-language-only convention artifact change as well. This is most likely not the case in OpenTelemetry)

@jack-berg
Copy link
Member Author

This only works in an ideal world where your Java artifacts make breaking changes and bug-fixes in lockstep with the specification. I am not sure if this is a good idea.

I think what you're saying is that we may want to change the code generation logic independently of a bump in the semantic conventions repo. We could accomplish this by having a versioning strategy which is essentially two versions:

io.opentelemetry:opentelemetry-semconv:{CODE_GEN_VERSION}_{SEMCONV_VERSION}
// e.g.
io.opentelemetry:opentelemetry-semconv:1.0.0_1.21.0

Or something to that effect. But we can't do any of this if the artifact has to be published in lockstep with opentelemetry-java as it is today.

@jack-berg
Copy link
Member Author

I see 👍 from both java maintainers and semantic convention maintainers so I'm going to proceed with setting up the repo and close this issue.

@jack-berg
Copy link
Member Author

See new repository at semantic-conventions-java.

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

No branches or pull requests

2 participants