OpenTelemetry .NET Automatic Instrumentation Releases its first Beta
We're excited to announce the first beta release of the OpenTelemetry .NET Automatic Instrumentation project!
Without this project, .NET developers need to use instrumentation packages to automatically generate telemetry data. For example, to instrument inbound ASP.NET Core requests, you need to use the ASP.NET Core instrumentation package and initialize it with the OpenTelemetry SDK.
Now, developers can use automatic instrumentation to initialize signal providers and generate telemetry data for supported instrumented libraries. This approach has several benefits:
- A technical path forward to support automatic instrumentation via byte-code instrumentation, which can allow for more automatic instrumentation support than relying solely on published instrumentation libraries
- No need to install and initialize an instrumentation library
- No need to modify and rebuild an application to add automatic instrumentation
- Less code needed to get started
This first beta release is an important milestone because it establishes the technical foundation on which a rich set of automatic instrumentation capabilities can be built on. This release includes support for:
- Gathering trace data from .NET applications without requiring code changes1
- Gathering trace data from .NET libraries that the SDK does not support2
See the examples for demonstrations of different instrumentation scenarios covered by the OpenTelemetry .NET Automatic Instrumentation.
Over the next few months we plan to:
- Support additional instrumentation libraries
- Improve dependency management
- Enable metrics support
Please, give us your feedback (using your preferred method):
- Submit a GitHub issue.
- Write to us on Slack. If you are new, you can create a CNCF Slack account here.
-
The supported and unsupported scenarios documentation describe the current limits. ↩
-
The instrumentation library documentation contains the list of libraries we can gather telemetry data from. ↩