-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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 Mono EventPipe rundown support. #47339
Add Mono EventPipe rundown support. #47339
Conversation
Add support into Mono VM emitting rundown events into EventPipe stream. All rundown events emitted by CoreClr during EventPipe rundown phase are now also emitted by Mono, making sure enough meta information is available for tooling to correctly resolve callstacks (not yet emitted) included in EventPipe events emitted by Mono VM.
Reduce heap allocations for all strings emitted in rundown. Support buffer in place conversions.
7bb4859
to
1f6cd97
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mono bits mostly look ok. A couple of nits. Really the only important bit is to add new glib.h symbols to eglib-remap.h, too.
1f6cd97
to
a418192
Compare
Have you tried collecting a trace using |
Collecting stack traces is not yet implemented on Mono. Plan was to build on top of this and implement sample profiler + stack traces and when that is done I will run end-to-end test. I have matched the event and data emitted by CoreClr during rundown in this PR, so most of the information should already be included in the stream once the stack traces are added into the mix. If there are issues detected parsing stack traces due to rundown events I will fix that in upcoming PR's. |
Add support into Mono VM emitting rundown events into EventPipe stream. All rundown events emitted by CoreClr during EventPipe rundown phase are now also emitted by Mono, making sure enough meta information is available for tooling to correctly resolve callstacks (not yet emitted) included in EventPipe events emitted by Mono VM.
Re-eanble couple of runtime tests disabled on Mono due to lack of rundown events.