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

Semantic Conventions are several years out of date? #4235

Open
Qard opened this issue Oct 27, 2023 · 9 comments
Open

Semantic Conventions are several years out of date? #4235

Qard opened this issue Oct 27, 2023 · 9 comments

Comments

@Qard
Copy link

Qard commented Oct 27, 2023

From what I can tell the semantic conventions module is auto-generated but hasn't been regenerated in over two years now. It looks like it's using 1.7.0 at the moment while the website currently documents version 1.22.0 which looks quite different. Is there some compatibility reason this hasn't been updated or was it just an oversight?

I'm happy to update it myself, I need to start contributing a bit, just wanted to make sure there wasn't some reason it's that far outdated first. I don't want to go and break everything by updating it. 😅

@Flarna
Copy link
Member

Flarna commented Oct 27, 2023

Ther are removed and renamed constants. Regeneration likely brakes a lot instrumentations because of this.
As far as I know there are discussion in spec repo to keep the old constants to avoid this but not sure if there is consensus already.

@dyladan
Copy link
Member

dyladan commented Oct 30, 2023

Is there some compatibility reason this hasn't been updated or was it just an oversight?

Little of both. It started as oversight and it hasn't been completed now for compatibility reasons. We're currently in the process of completely rethinking some of the decisions that caused it to be difficult to update.

@legendecas
Copy link
Member

legendecas commented Nov 2, 2023

For reference, the tool we are using to generate the sources and its documentation are hosted at: https://github.com/open-telemetry/build-tools/tree/main/semantic-conventions (It's really hard to trace the source of a docker image :( ).

@mx-psi
Copy link
Member

mx-psi commented Nov 20, 2023

Go and the Collector have one sub-package per semantic convention release. That could be a valid approach here.

@david-luna
Copy link
Contributor

david-luna commented Jan 16, 2024

@dyladan

We're currently in the process of completely rethinking some of the decisions that caused it to be difficult to update.

Does that mean the way semantic conventions package is generated is going to change?

I think in this case a gradual migration (per package) would be a good approach instead of having a big PR with all the changes. This kind of migration would be possible if

  • we keep a copy of the legacy semantic conventions package
  • we make all packages to depend on this legacy package
  • we generate the latest semantic conventions and check them into the repo

Points 1 & 2 could be done in a single PR (big but not hard to review). Then we can check-in the generated ones and one by one we could migrate from legacy to current SemCon.

We can also think on an update process in the CI to see if a new version of semantic conventions breaks any package.

PS: if approach seems okay we can apply this also to the contrib packages. 1st we need a new release here though

@JamieDanielson
Copy link
Member

Chiming in to note that there are likely a few steps to take here, I outlined a bit over on this other issue open-telemetry/opentelemetry-js-contrib#1778 (comment).

For an important tidbit, there are breaking changes with HTTP attributes after v1.20 so we need to be very deliberate about how we update - first to 1.20, then updating further with the OTEL_SEMCONV_STABILITY_OPT_IN environment variable to avoid breaking end users. See this blog post for more detail, and this issue open-telemetry/semantic-conventions#534

@pragmaticivan
Copy link
Contributor

Any chance this will get priority this quarter?

@GimpArm
Copy link

GimpArm commented Feb 29, 2024

I just want to point out that having a single JS library that uses old conventions while every other library in other languages use the new conventions is breaking new software. So being afraid to break old software when the official documentation states that the current values are stable is nonsensical to me.

Copy link

github-actions bot commented May 6, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days.

@github-actions github-actions bot added the stale label May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants