-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[docs] Medium-weight GC profiling option in Profiler API #12539
Comments
cc @Maoni0 |
@tommcdon yeah, I already did so I’ll close this. |
@mjsabby thanks! |
I'm re-opening this issue until docs are in place. |
@mjsabby just a kind reminder to add the appropriate documentation for this feature |
Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process. This process is part of our issue cleanup automation. |
Creating an issue based on the discussion in dotnet/coreclr#22866
There are currently two profiling modes checked in to .NET Core:
(1) Full GC Profiling - Expensive but exhaustive
(2) Basic GC Profiling - Very efficient but somewhat lacking for some types of analysis
This issue is there to introduce a third mode which is somewhere in between the Full and Basic.
The goal of this middle ground mode is to provide everything basic profiling provides and the most important aspect of the full profiling capability which is the ability to track objects after a GC moves them.
In fact, coupled with an additional Profiler API (https://github.com/dotnet/coreclr/issues/24155), the Full GC profiling capability can be emulated by the profiler if it is so chooses at the cost of additional complexity on the profiler side.
Summarily, this mode will enable the
MovedReferences2
profiler callback to be called for compacting garbage collections, but skipSurvivedReferences2
for non-compatcing garbage collections.The text was updated successfully, but these errors were encountered: