-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-NativeAOT-coreclr
Milestone
Description
Goal: Full Diagnostic Capability in NativeAOT Applications
- Logging
- EventSource
- Runtime library EventSource need to work
- EventSource events can be read from Windows and Linux platforms
- Create a plan for general EventSource to work (cut from .NET8). New APIs added in .NET8 to enable primitive payloads to be AOT compliant
- DiagnosticSource can be used for in-proc logging (no serialization) and as out-proc (with serialization) via the EventSource bridge for Runtime libraries
- ETW Events
- GC, Contention, Exception, Heap Snapshot (cut from .NET8), Rundown (cut from .NET8)
- EventSource
- Diagnostic tool support
- Following dotnet-* tools need to work
- dotnet-trace, dotnet-counter, dotnet-monitor
- Following dotnet-* tools need to work
- Open telemetry Plan
- Debugging support
Work that is needed in .NET 8 to make the above happen
- Port EventPipe to NativeAot (and make it possible to be used as an optional feature)
- EventPipe support for Native AOT #83051
- Will allow Linux to read EventSource events
- Will allow Diagnostic tools to work seamlessly
- Bring up plan
- Use a tracing sample application (A dotnet-trace like client from here and a target process like here) to bring up EventPipe in NativeAOT. Specifically, enable CollectTracing2 on the IPC protocol.
- EventPipe in NativeAOT works in both Linux and Windows
- Enable tracing via environment variables
- Use common container code from the EventPipe library
- Dotnet-* tools (trace, monitor and counter) work with NativeAOT applications. Enable other relevant CommandSet
- Measure perf
- EventSource & DiagnosticSource
- Work with runtime library owners to ensure that trimming does not break
- Work on a plan for EventSource source generator for the long-term solution (In .NET 8, compiler warnings will show problems)
- ETW Events
- Contention events (Issues Emit Contention/Start and Contention/Stop Events on Native AOT Apps #76754 and [NativeAOT] Implement thin locks #75108 track this)
- Debugging support
Potential other improvements:
Beau-Gosse-dev
Metadata
Metadata
Assignees
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-NativeAOT-coreclr
Type
Projects
Status
No status