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:

Please, give us your feedback (using your preferred method):

  1. The supported and unsupported scenarios documentation describe the current limits. ↩︎

  2. The instrumentation library documentation contains the list of libraries we can gather telemetry data from. ↩︎