-
Notifications
You must be signed in to change notification settings - Fork 583
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
Runtime instrumentation: GC "total time spent" metric #316
Comments
I can take on adding a nannoseconds unit and updating the runtime instruments. But GOMAXPROCS() indeed can change dynamically at runtime. It wasn't apparent to me how I could approximate a value for |
@jmacd is there a pointer for what the Metrics SIG has considered as useful for direct monitoring? I am planning to use the runtime plugin in knative/pkg but it seems to me that some metrics are not exposed like |
@skonto See also golang/go#47216 |
From SIG
|
Hello @jmacd |
Superseded by #5655 |
I noticed a few things that I'd like to change about the GC timing metrics emitted by
instrumentation/runtime
.--
runtime.go.gc.pause_total_ns
should not include a "_ns" unit suffix.runtime.go.gc.pause_ns
as well.The main repository does not have a Unit declared for Nanoseconds. It's appropriate to report these in nanoseconds, since they are provided in nanoseconds, but I'd like to set the units being used so that downstream systems can normalize them into seconds.
--
There is a field
MemStats.GCCPUFraction
that is not being reported. This is a cumulative summary computed over the process lifetime, which the Metrics SIG has come to realize is rarely useful for direct monitoring. The comment reads:Therefore, the total time spent performing GC can be computed as follows:
This
gcSeconds
is a number that we should be monitoring, as this can be compared directly withprocess.cpu.usage
.This works as long as GOMAXPROCS() does not change, and with more sophisticated logic it could approximately track changes in GOMAXPROCS() as well.
The text was updated successfully, but these errors were encountered: