-
Notifications
You must be signed in to change notification settings - Fork 778
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
Add more info about OTEL_SEMCONV_STABILITY_OPT_IN #4662
Changes from 1 commit
3cf3bbf
45a15c2
95eb622
472666e
6f69133
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,13 +2,31 @@ | |
|
||
## Unreleased | ||
|
||
* Updated Semantic Conventions to [v1.21.0](https://github.com/open-telemetry/semantic-conventions/blob/v1.21.0/docs/http/http-spans.md). | ||
This library can emit either old, new, or both attributes. | ||
Users can control which attributes are emitted by setting the environment | ||
variable `OTEL_SEMCONV_STABILITY_OPT_IN`. | ||
([#4537](https://github.com/open-telemetry/opentelemetry-dotnet/pull/4537)) | ||
([#4606](https://github.com/open-telemetry/opentelemetry-dotnet/pull/4606)) | ||
([#4660](https://github.com/open-telemetry/opentelemetry-dotnet/pull/4660)) | ||
* The new HTTP and network semantic conventions can be opted in to by setting | ||
the `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable. This environment | ||
variable supports the following values: | ||
* `http` - emit the new, stable HTTP and networking attributes, and stop | ||
emitting the old experimental HTTP and networking attributes that the | ||
instrumentation emitted previously. | ||
* `http/dup` - emit both the old and the stable HTTP and networking | ||
alanwest marked this conversation as resolved.
Show resolved
Hide resolved
|
||
attributes, allowing for a more seamless transition. | ||
* The default behavior (in the absence of one of these values) is to continue | ||
emitting the same HTTP and network semantic conventions that were emitted in | ||
`1.5.0-beta.1`. | ||
* Note: this option will eventually be removed after the new HTTP and | ||
network semantic conventions are marked stable. At which time this | ||
instrumentation can receive a stable release, and the old HTTP and | ||
network semantic conventions will no longer be supported. A stable release of | ||
this instrumentation will come no sooner than six months from now. This is to | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why this condition? The spec only says this:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It says more, but we need to figure out how the following applies to us give we have never released a stable major version:
I'm open to removing this condition and saying we can release stable as soon as October, but I think it's important that we understand the intention behind this statement by the semantic conventions WG. @trask do you have a moment to chime in here? My understanding is that .NET and Java are in slightly different situations. Java apparently has been releasing 1.x versions of HTTP instrumentation and starting in version 1.27.0 of Java's instrumentation you support the .NET is not currently planning to do a 2.x release. This is because we have been consistent in using prerelease identifiers per semver - i.e., 1.5.0-beta, 1.6.0-beta, 1.7.0-rc, 1.8.0-rc, etc. Our plan is that at some version, we will drop the prerelease identifier - for example, this might be version 1.9.0. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just making sure we plan for the worst case scenario here. @utpilla let's say we release stable with 1.9.0 and then some security patch is required. I think we should plan then to release a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not clear on this I think we should remove the 6 month constraint and should not put the date here. For .NET as we never released 1.0 so that 6 month condition is not applicable in our case. We are adding this option for smoother transition, users who want a longer transition time period can continue to use the pre-release version. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Yes, agreed this is fine and I can update the wording...
but our mutual understanding on this point is important. The smooth transition period should allow users who are still dependent on the old conventions to use a version of the instrumentation that is free from security issues. I find this scenario unlikely, but we should at least have a plan for what to do. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Got it, I Agree. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I think this approach most aligns with the intent. e.g., the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here is my understanding for how .NET team will follow the spec guidelines:
We do a
We are not bound by the six months duration requirement of supporting |
||
allow for a transition period for users to experiment with the new semantic | ||
conventions and adapt as necessary. Refer to the specification for more | ||
information regarding the new HTTP and network semantic conventions for both | ||
[spans](https://github.com/open-telemetry/semantic-conventions/blob/v1.21.0/docs/http/http-spans.md) | ||
and | ||
[metrics](https://github.com/open-telemetry/semantic-conventions/blob/v1.21.0/docs/http/http-metrics.md). | ||
([#4537](https://github.com/open-telemetry/opentelemetry-dotnet/pull/4537), | ||
[#4606](https://github.com/open-telemetry/opentelemetry-dotnet/pull/4606)), | ||
[#4660](https://github.com/open-telemetry/opentelemetry-dotnet/pull/4660)) | ||
|
||
* Fixed an issue affecting NET 7.0+. If custom propagation is being used | ||
and tags are added to an Activity during sampling then that Activity would be dropped. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider updating the Java release notes 😄 https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.27.0