-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Add GC performance counters #1099
Comments
There are some additional GC counters that were requested from elsewhere:
Are any of these of interest to you @benmwatson?
From thread pause to thread resume is different from from gen0 GC start to gen0 GC end. Is the timing from GC start to end not sufficient? (This is what's reported via ETW/EventPipe Events). Also I'm not sure if I can add all these GC counters since the cost of computing these add up eventually. I'll have to do a perf test.
This may/may not be useful since the rate at which these counters are reported may be shorter than the rate GCs are occurring, which would mean these percentiles might not be useful. Most of the GC counters report values between GCs - i.e. the % time in GC isn't time spent in GC since the last counter value was reported; it really means the % time in GC since the last GC happened that was reported. The main reason for doing this is because we simply don't have anything to report unless a GC happened. |
Yes, both SOH and LOH alloc rates would be great to have. I'm thinking that thread pause/resume is the better boundary to report because that's measuring the actual impact on the program. However, most of our analysis is comparative, so as long as you pick a consistent metric, I'm fine with either. |
Dependent on #34648 |
Design doc: #39800 |
Closing as discussed in #39800 |
It would be great to be able to monitor more detailed GC performance stats out of the box, not just raw count or the vague % Time in GC, but specifics such as:
min/max/P95 would be great as well, but might be pushing it.
Currently, you can calculate these yourself by listening to ETW events, but some simple counters could replace 95% of the need for that.
The text was updated successfully, but these errors were encountered: