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

Support new stable http semantic conventions for http instrumentations - transition plan #1768

Closed
lzchen opened this issue Apr 20, 2023 · 7 comments
Labels
HTTP instrumentation specification Issues that are needed to comply with the specifications

Comments

@lzchen
Copy link
Contributor

lzchen commented Apr 20, 2023

Now that the community has decided to adopt ECS conventions, there is a push for stability for http semantic conventions. Part of this eventual work for languages is the eventual transition for instrumentations to update to the stable semantic conventions (which contain several breaking changes). This issue discusses the process of how languages will transition their instrumentations. The associated PR proposes a plan to do so, including bumping instrumentations to major versions. This poses a couple of problems with how we currently version our packages:

  1. We release packages in lockstep so these need to be decoupled if we want to update instrumentations separately
  2. All instrumentations pin a version of the semantic conventions package -> how to support multiple semantic conventions
  3. This only applies to http semantic conventions so we must ensure a clear path forward that doesn't affect transitioning other types of instrumentations.

Opening this issue to discuss how we can tackle this transition and whether we want to chime in to the community if this is not feasible.

@lzchen lzchen added instrumentation specification Issues that are needed to comply with the specifications HTTP labels Apr 20, 2023
@tammy-baylis-swi
Copy link
Contributor

Hi there! I'd love to stay in the loop and work on the actual transition if/when the time comes.

So far I've been catching up on related issues. In May, a PR was merged outlining a transition helper variable, OTEL_SEMCONV_STABILITY_OPT_IN: open-telemetry/opentelemetry-specification#3443 Setting OTEL_SEMCONV_STABILITY_OPT_IN=http/dup before the breaking major version release would "emit both the old and the stable HTTP and networking attributes". This might help with point 2 about supporting multiple semantic conventions.

@lzchen
Copy link
Contributor Author

lzchen commented Jul 13, 2023

As discussed in the Python Sig 7/13

We will NOT be implementing the transition plan as defined here. Instead, we will be sticking with our current instrumentation releases (bumping minor versions as appropriate) until we are ready to make a stable release of our instrumentations (1.X) since all of our instrumentations are not yet stable. As for updating to the new semantic conventions, we will be updating to the frozen version v1.21 [this pr] (#1746) so as to only make a single breaking change. This will be followed by a MINOR version release as usual. Our message to users is that this will be a significant breaking change and we will assist them as needed when issues arise if they want to upgrade.

@aabmass
Copy link
Member

aabmass commented Aug 3, 2023

Should #1759 have been part of this effort? I think we should discuss in the SIG next week as it was already released.

@lzchen
Copy link
Contributor Author

lzchen commented Oct 12, 2023

Created a project board to track this effort.

@lzchen
Copy link
Contributor Author

lzchen commented Oct 12, 2023

This message is outdated and the TC has advised the Python SIG to implement the transition plan. This issue will be used to track work related to that.

@lzchen
Copy link
Contributor Author

lzchen commented Oct 12, 2023

For breaking changes that are conflicting, the new semantic conventions will take priority. The only changes that should be affected by the migration plan are attribute related changes.

@lzchen
Copy link
Contributor Author

lzchen commented Jun 14, 2024

Superseded by #1986

@lzchen lzchen closed this as completed Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HTTP instrumentation specification Issues that are needed to comply with the specifications
Projects
None yet
Development

No branches or pull requests

3 participants