Add runtimemetrics instrumentation #7499
Closed
+1,297
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Revival of #316
Part of #2624
My team has been looking at Golang runtime instrumentation and specifically are interested in access to runtime/metrics, which addresses the problem described in #316. As an example, with this instrumentation and any modern Go runtime, we get a
process.runtime.go.cpu.time
metric with attributes likeThis allows you to construct graphs comparing the total for class=gc with the sub-total for class3=assist, which is an indicator of relatively bad GC performance.
This code was forked from https://github.com/lightstep/otel-launcher-go/tree/main/lightstep/instrumentation/runtime.