Skip to content

Conversation

@elinor-fung
Copy link
Member

@elinor-fung elinor-fung commented Jul 12, 2023

  • Switch the pivot for the enabled/disabled functions to FireEtw* instead of EventPipeWriteEvent*
    • Functions fire both EventPipe and ETW despite the naming (matches coreclr/mono names)
  • Moves support for ETW firing (and helpers only used to determine information for tracing) out of the core runtime and into the enabled lib - same opt-in as EventPipe support

The actual implementation still:

  • Has separate tracking from that for the EventPipe support
  • Uses the .NET Native provider GUIDs (47c3ba0c-77f1-4eb0-8d4d-aef447f16a85, private: 1095638c-8748-4c7a-b39e-baea27b9c589) instead of the normal .NET ones (e13c0d23-ccbc-4e12-931b-d9cc2eee27e4, private: 763FD754-7086-4dfe-95EB-C01A46FAF4CA).

This will enable us to actually reconcile the ETW and EventPipe tracking/contexts/callbacks in nativeaot, which we will need to address #88162 and to switch to the generation scripts based on the event manifest instead of checking in modified parts of the output and manually updating.

I'd also like to move some of the files that are no longer part of the core runtime into a subdirectory (of nativeaot/Runtime) - but in a separate change.

@ghost
Copy link

ghost commented Jul 12, 2023

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

Issue Details
  • Switch the pivot for the enabled/disabled functions to FireEtw* instead of EventPipeWriteEvent*
    • Functions fire both EventPipe and ETW despite the naming (matches coreclr/mono names)
  • Moves support for ETW firing (and helpers only used to determine information for tracing) out of the core runtime and into the enabled lib - same opt-in as EventPipe support

The actual implementation still:

  • Has separate tracking from that for the EventPipe support
  • Uses the .NET Native provider GUIDs (47c3ba0c-77f1-4eb0-8d4d-aef447f16a85, private: 1095638c-8748-4c7a-b39e-baea27b9c589) instead of the normal .NET ones (e13c0d23-ccbc-4e12-931b-d9cc2eee27e4, private: 763FD754-7086-4dfe-95EB-C01A46FAF4CA).

This will enable us to actually reconcile the ETW and EventPipe tracking/contexts/callbacks in nativeaot, which we will need to address #88162 and to switch to the generation scripts based on the event manifest instead of checking in modified parts of the output and manually updating.

Author: elinor-fung
Assignees: -
Labels:

area-NativeAOT-coreclr

Milestone: -

@ghost ghost assigned elinor-fung Jul 12, 2023
Copy link
Contributor

@LakshanF LakshanF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making this change! The clean separation is going to make it much easier, both to add new events and for the change to auto-generated python scripts.

@elinor-fung
Copy link
Member Author

Failure is #88870.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants