-
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
[Mono]: Make EventPipe MonoProfiler provider GC events async safe. #56714
Merged
lateralusX
merged 9 commits into
dotnet:main
from
lateralusX:lateralusX/add-dump-heap-profiler-events
Aug 6, 2021
Merged
[Mono]: Make EventPipe MonoProfiler provider GC events async safe. #56714
lateralusX
merged 9 commits into
dotnet:main
from
lateralusX:lateralusX/add-dump-heap-profiler-events
Aug 6, 2021
Commits on Aug 4, 2021
-
Make EventPipe MonoProfiler provider GC events async safe.
EventPipe MonoProfiler provider includes most Mono profiler events, but events currently triggered during GC is not emitted since EventPipe is not async safe. This commit add support to emit the MonoProfiler events triggered during GC (gc resize, gc moves, gc roots and heap dump object references) into a async safe temporary memory buffer that will be emitted into EventPipe once GC completes (and world has been restarted). This opens up the ability to do heapshots using EventPipe running on Mono into nettrace files. Heapshots can be triggered in same way as on CoreCLR, creating an EventPipe session with GCHeapCollectKeyword keyword. Only one heapshot can be triggered at a time, so in order to trigger an additional heapshot, a new EventPipe session is setup (after the previous heapshot has completed). Heapshot events will be included in all session with configured keywords. It is also possible to include all vtable/class references (including class name), into heap dump. This is enabled by a specific keyword and makes the dump self contained (no need to track type load etc). That way runtime can start up without any profiler support, and then it is possible to use custom tool or dotnet-trace to request a heap dump (including all referenced vtable/class references) and once that session is done, it is possible to do a new session and get a new separate heap dump into a new session. Having separate sessions in different files opens up the ability to diff between any heap dump over time.
Configuration menu - View commit details
-
Copy full SHA for bea9457 - Browse repository at this point
Copy the full SHA bea9457View commit details -
Configuration menu - View commit details
-
Copy full SHA for c622660 - Browse repository at this point
Copy the full SHA c622660View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a9b93c - Browse repository at this point
Copy the full SHA 9a9b93cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8934709 - Browse repository at this point
Copy the full SHA 8934709View commit details
Commits on Aug 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1290c55 - Browse repository at this point
Copy the full SHA 1290c55View commit details -
Configuration menu - View commit details
-
Copy full SHA for d41faae - Browse repository at this point
Copy the full SHA d41faaeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14edfcb - Browse repository at this point
Copy the full SHA 14edfcbView commit details
Commits on Aug 6, 2021
-
Configuration menu - View commit details
-
Copy full SHA for f8b3a5b - Browse repository at this point
Copy the full SHA f8b3a5bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 11ec49a - Browse repository at this point
Copy the full SHA 11ec49aView commit details
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.