Skip to content
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

Consider matching ETW to fire the new events added to EventPipe #88162

Closed
LakshanF opened this issue Jun 28, 2023 · 4 comments
Closed

Consider matching ETW to fire the new events added to EventPipe #88162

LakshanF opened this issue Jun 28, 2023 · 4 comments

Comments

@LakshanF
Copy link
Member

For new events added to NativeAOT, we are prioritizing enabling these via EventPipe given that its cross-platform (see PR #87785 for an example). Getting events via EventPipe is our primary focus, and tools like PerfView can see these events with enabling the relevant providers (for example, Microsoft-DotNet-Runtime provider). But given that ETWProvider has been supported in .NET7, we should strive to add the new events to be enabled via ETW as well.

@ghost
Copy link

ghost commented Jun 28, 2023

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

For new events added to NativeAOT, we are prioritizing enabling these via EventPipe given that its cross-platform (see PR #87785 for an example). Getting events via EventPipe is our primary focus, and tools like PerfView can see these events with enabling the relevant providers (for example, Microsoft-DotNet-Runtime provider). But given that ETWProvider has been supported in .NET7, we should strive to add the new events to be enabled via ETW as well.

Author: LakshanF
Assignees: LakshanF
Labels:

area-NativeAOT-coreclr

Milestone: 8.0.0

@elinor-fung
Copy link
Member

elinor-fung commented Jun 28, 2023

Another aspect of this is that the GC events already emitted via ETW in .NET 7 are emitted regardless of whether or not EventSource support is enabled.

Would we want the same behaviour for these other events? That seems to go against the desire to strip out anything unnecessary in NativeAOT / make things opt-in, but it would also be weird to always have only (a subset of) GC events and require enabling EventSource support for the other runtime events. Or they could all be switched to opt-in - but I'm not sure what existing scenarios may rely on the existing ETW events being non-opt-in.

Keeping the ETW events as always on makes for a lack of consistency/parity cross-plat (in addition to going against our desire for minimalism in NativeAOT). I'd think that ETW event support belongs in the same category as EventPipe support - in which case it would be opt-in.

@LakshanF
Copy link
Member Author

LakshanF commented Aug 9, 2023

We have done work to make this easier (see above merged PRs) but doing this in .NET9 seems ok given our aim for .NET8 is for basic functionality.

@LakshanF
Copy link
Member Author

We now use gen-eventing-event-inc.lst as the allowed events for both EventPipe and ETW

@github-actions github-actions bot locked and limited conversation to collaborators Aug 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

No branches or pull requests

3 participants