Closed rajkumar-rangaraj closed 8 months ago
Other thoughts/considerations:
What about context propagation? Would it be able to work?
Maybe it would be possible to build automatic instrumentation using eBPF similar to OpenTelemetry Go Automatic Instrumentation: https://github.com/open-telemetry/opentelemetry-go-instrumentation/blob/main/docs/how-it-works.md
Closing per SIG discussion. Pursuing dotnet-monitor based approach.
Problem Statement
Auto-instrumentation for .NET applications currently relies on startup hooks, which are not supported by Ahead-of-Time (AOT) compiled applications. This lack of support for AOT-compiled apps is a significant gap in OpenTelemetry .NET Auto-Instrumentation capabilities. Additionally, some apps may fail rule engine validation and also require alternative methods for auto-instrumentation.
Goals
Proposed Solution
The central idea is to employ an out-of-process auto-instrumentation technique that leverages
EventPipeSession
. This will be similar in function to utilities likedotnet-counter
anddotnet-trace
.Compatibility
This feature would be opt-in and should not break existing auto-instrumentation methods. The out-of-process method would serve as an alternative to startup hooks for AOT apps and others where in-process methods are not feasible.
Test Plan
EventPipeSession
setup and data collection.Rollout Plan
Open Questions