Uh oh!
There was an error while loading. Please reload this page.
Total time in GC counter - #88699
Conversation
Uh oh!
There was an error while loading. Please reload this page.
reyang
commented
Jul 12, 2023
noahfalk
left a comment
There was a problem hiding this comment.
I suggested an adjusted name, otherwise LGTM!
Uh oh!
There was an error while loading. Please reload this page.
…acing/RuntimeEventSource.cs Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com>
| _committedCounter ??= new PollingCounter("gc-committed", this, () => ((double)GC.GetGCMemoryInfo().TotalCommittedBytes / 1_000_000)) { DisplayName = "GC Committed Bytes", DisplayUnits = "MB" }; | ||
| _exceptionCounter ??= new IncrementingPollingCounter("exception-count", this, () => Exception.GetExceptionCount()) { DisplayName = "Exception Count", DisplayRateTimeScale = new TimeSpan(0, 0, 1) }; | ||
| _gcTimeCounter ??= new PollingCounter("time-in-gc", this, () => GC.GetLastGCPercentTimeInGC()) { DisplayName = "% Time in GC since last GC", DisplayUnits = "%" }; | ||
| _totalGcTimeCounter ??= new IncrementingPollingCounter("total-time-in-gc", this, () => GC.GetTotalPauseDuration().TotalMilliseconds) { DisplayName = "Time spent in GC", DisplayUnits = "ms" }; |
There was a problem hiding this comment.
Is "Time spent in GC" the right description? I think of "pause duration" as being the time when nothing is making forward progress in the app other than GC work. Is it not that, and instead actually the total time spent doing any GC-related work, regardless of whether it's stop-the-world or not?
There was a problem hiding this comment.
@cshung could you please change this as we discussed in the CR? the point @stephentoub brought up is exactly what I mentioned as well. this should be pause time, instead of "time" which is a vague term that doesn't say if it's the CPU time or pause time.
There was a problem hiding this comment.
How about this?
_totalGcPauseTimeCounter??=newIncrementingPollingCounter("total-pause-time-in-gc",this,()=>GC.GetTotalPauseDuration().TotalMilliseconds){DisplayName="Time paused by GC",DisplayUnits="ms"};
Fixes#69324
This change exposes a new event counter for the total amount of time the process is paused by the GC.