-
Notifications
You must be signed in to change notification settings - Fork 576
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
Update runtime instrumentation to new semantic conventions #5655
Comments
Do we want a migration plan? Or do we want to just want to switch to the new conventions? |
+1 to just switching. |
Migration plan:
The old metrics will be supported for 2 releases. We do not plan to make any changes to the old metrics. If there is any CVEs they will be removed prior to the 2 release timeline. |
Part of #5655 This is a refactoring to prepare for the implementation of the new runtime metrics. It: * Adds support for `OTEL_GO_X_DEPRECATED_RUNTIME_METRICS`, which can be set to `true` or `false` to enable/disable the existing runtime metrics. It initially defaults to `true` while the new metrics are under development. * Moves the existing runtime metrics implementation to its own internal package, deprecatedruntime, to clearly separate it from the new metrics being added, and to make the eventual removal easier. This does not change any of the metrics generated, or the public API surface of the runtime metrics package.
Part of #5655 Changes: * Move the configuration options to `options.go` without modification. * Implements the metrics defined here: https://github.com/open-telemetry/semantic-conventions/blob/main/docs/runtime/go-metrics.md. These are still disabled by default while it is under development. * Add unit tests Notes: It doesn't implement `go.schedule.duration`, as the histogram will need some additional work to figure out. Based on prometheus/client_golang#955 (comment), using go's runtime metrics should is more efficient than reading memstats. --------- Co-authored-by: Sam Xie <sam@samxie.me>
I just need to implement the histogram metric now. |
Some notes from my rough attempt to implement the histogram metric:
|
"buckets are power-of-2 sized" seems to motivate this 👍 |
Sounds like a good ask for the Go team |
It is powers-of-2 sized, but with linear "sub-buckets" between the power-of-two buckets. I asked, and the buckets are also subject to change over time, so using an exponential histogram seems like not the best idea. Slightly disappointing, but maybe an opportunity to improve in the future. |
I'm going to track adding the histogram metrics separately: #5974. |
Part of open-telemetry#5655 Changes: * Move the configuration options to `options.go` without modification. * Implements the metrics defined here: https://github.com/open-telemetry/semantic-conventions/blob/main/docs/runtime/go-metrics.md. These are still disabled by default while it is under development. * Add unit tests Notes: It doesn't implement `go.schedule.duration`, as the histogram will need some additional work to figure out. Based on prometheus/client_golang#955 (comment), using go's runtime metrics should is more efficient than reading memstats. --------- Co-authored-by: Sam Xie <sam@samxie.me>
open-telemetry/semantic-conventions#981
The text was updated successfully, but these errors were encountered: