Skip to content

NativeAOT EventPipe library needs to work correctly when EventSource support is enabled #82231

Closed
@LakshanF

Description

@LakshanF

In NativeAOT, EventPipe library is not included by default in applications due to size considerations. This means that when applications enable EventSource support, developers have a choice to include this library as shown in the table here. .NET applications do not have this option since EventPipe library is always included in .NET.

There could be cases where developer might just want to get in-proc events and do not need to enable EventPipe library since they do not need these events sent out-proc (to listening clients like dotnet-trace) or want to keep their application size small while getting some event data. Currently in NativeAOT, the only option for EventSource support is also to include EventPipe library. This is due to existing code that is shared with CoreCLR do not distinguish between managed/native separation when EventSource support is enabled and calls the EventPipe library.

We need to do the following in NativeAOT

  1. Pick the right default for EventPipe library support when EventSource support is enabled.
  2. Fix the existing issue when EventSource is enabled and EventPipe is disabled. The work should also include the current code we have that assumes EventPipe can be disabled when EventSource is enabled. For example, removing methods in DisabledEventPipeInternal.cpp

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions