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 go.schedule.duration runtime metric #5974

Closed
dashpole opened this issue Aug 2, 2024 · 1 comment · Fixed by #5991
Closed

Support go.schedule.duration runtime metric #5974

dashpole opened this issue Aug 2, 2024 · 1 comment · Fixed by #5991
Labels
area: instrumentation Related to an instrumentation package enhancement New feature or request instrumentation: runtime
Milestone

Comments

@dashpole
Copy link
Contributor

dashpole commented Aug 2, 2024

Problem Statement

We would like to support the go schedule duration:
https://github.com/open-telemetry/semantic-conventions/blob/main/docs/runtime/go-metrics.md#metric-goscheduleduration

From golang/go#67120:

Rationale: This metric is a measure of scheduling latency that is useful as a fine-grained proxy for overall system load. For example, diffing the distribution over short time windows can provide visibility into the latency impact of uneven load. This metric is battle-tested and has been found to be useful in a variety of scenarios.

However, this has a few challenges:

  • The go runtime histogram type doesn't have a sum: https://pkg.go.dev/runtime/metrics#Float64Histogram. It only has buckets and counts. The sum is a critical part of the histogram, as it allows computing averages.
  • The go runtime histogram is pre-computed. This means we can't add this histogram using the OTel api. Instead, we will need to model this as a metric.Producer.
@dashpole
Copy link
Contributor Author

dashpole commented Aug 6, 2024

@MrAlias MrAlias added this to the v1.29.0 milestone Aug 8, 2024
@MrAlias MrAlias modified the milestones: v1.29.0, v1.30.0 Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: instrumentation Related to an instrumentation package enhancement New feature or request instrumentation: runtime
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants