-
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
Share managed EventSource/EventPipe implementation between CoreCLR and Mono. #33425
Share managed EventSource/EventPipe implementation between CoreCLR and Mono. #33425
Conversation
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventPipeEventProvider.cs
Outdated
Show resolved
Hide resolved
EventPipeEventDispatcher is depending on Interop.Kernel32.SetEvent PAL, currently not available on Mono none Windows platforms, causing build errors. Will look into alternatives, but most likely move logic down into EveptPipeInternal where we can do different implementations. Couple of build errors due to switching over to define instead of include/exclude for a couple of source files, will adjust those to be included/excluded based on features. |
...ono/netcore/System.Private.CoreLib/src/System/Diagnostics/Tracing/RuntimeEventSource.Mono.cs
Outdated
Show resolved
Hide resolved
8cc2cc4
to
3bd00f3
Compare
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/RuntimeEventSource.cs
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/NativeRuntimeEventSource.cs
Show resolved
Hide resolved
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.
a few nits, but mostly the Mono runtime bits lgtm
src/mono/netcore/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventPipe.Mono.cs
Outdated
Show resolved
Hide resolved
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.
Looks like a fine start to me
src/coreclr/src/System.Private.CoreLib/src/System/Diagnostics/Eventing/EventPipe.CoreCLR.cs
Show resolved
Hide resolved
…d Mono. First changes needed in order to start sharing managed EventSource/EventPipe code between CoreCLR and Mono runtime. Sharable code has been moved into S.P.C library project and split into runtime specific source files when needed, kept within each runtime specific S.P.C project files. Mono runtime has been extended with a set of icalls needed by EventPipeInternal, just to make sure EventPipe can be initialized, current Mono runtime implementation returns dummy values. Current change also enables ETW provider support on Mono Windows runtime. NOTE, this is just initial changes needed in order to share managed EventSource/EventPipe code between runtimes. Future changes will incrementally add EventPipe native code into Mono runtime.
3b25184
to
928542f
Compare
First set of changes needed in order to start sharing managed EventSource/EventPipe code between CoreCLR and Mono runtime. Shareable code has been moved into S.P.C library project and split into runtime specific source files when needed, kept within each runtime specific S.P.C project files.
Mono runtime has been extended with a set of icalls needed by EventPipeInternal, just to make sure EventPipe can be initialized, current Mono runtime implementation returns dummy values.
Current change also enables ETW provider support on Mono Windows runtime.
NOTE, this is just initial changes needed in order to share managed EventSource/EventPipe code between runtimes. Future changes will incrementally add EventPipe native code into Mono runtime.