27 KiB
Changelog
All notable changes to this component are documented in this file.
The format is based on Keep a Changelog. This component adheres to Semantic Versioning.
Unreleased
This release is built on top of OpenTelemetry .NET:
- Core components:
1.6.0 System.Diagnostics.DiagnosticSource:7.0.2
Added
- Added support for Azure SDK traces instrumentation on .NET Framework.
- Added support for
WCFCLIENTinstrumentation on .NET.
Changed
- Updated Core components:
1.6.0. - MySql.Data instrumentation is now supported from version 8.1.0 working on .NET.
- OpenTracing spans are registered under
opentracing-shimname instead ofOpenTelemetry.AutoInstrumentation.OpenTracingShim.
Deprecated
Removed
- Removed MySql.Data instrumentation for versions 6.10.7-8.0.33.
- Removed support for
OpenTelemetry.Instrumentation.MySqlData.MySqlDataInstrumentationOptionsfor plugins.
Fixed
- Fixed instrumentation loading issue where delayed instrumentation initialization could not bootstrap both traces and metrics. Affected scope: ASP.NET Core and HttpClient instrumentations.
- Fixed
ILoggerlog instrumentation issue that caused logs to be exported multiple times.
Security
1.0.0-rc.2
Added
-
Support for Azure App Service resource detector.
-
Added
BeforeConfigureTracerProvider,BeforeConfigureMeterProvider,TracerProviderInitializedandMeterProviderInitializedfor plugins. See plugins documentation for details. -
Added support for Azure SDK traces instrumentation on .NET.
Changed
- In plugins
ConfigureTracerProviderandConfigureMeterProviderare changed now toAfterConfigureTracerProviderandAfterConfigureMeterProvider. See plugins documentation for details. - Minimal version of
Grpc.Net.Clientsupported on .NET updated to2.52.0.
Fixed
OTEL_DOTNET_AUTO_EXCLUDE_PROCESSESworks correctly when .NET CLR Profiler is not enabled.- Fixed manual tracing when instrumented project is referencing
System.Diagnostics.DiagnosticSource7.0.2#2780.
1.0.0-rc.1
This release is built on top of OpenTelemetry .NET:
- Core components:
1.5.1 System.Diagnostics.DiagnosticSource:7.0.0
Added
- The environment variable
OTEL_DOTNET_AUTO_FAIL_FAST_ENABLEDcould be used to enable or disable the failing process when automatic instrumentation cannot be executed. - Add support for MySqlConnector traces instrumentation.
Changed
- Updated Core components:
1.5.1. - ASP.NET instrumentation no longer requires manual modification
of config files to include
TelemetryHttpModule. - Parameter for
ConfigureTracesOptionsextension point for StackExchangeRedis changed type fromOpenTelemetry.Instrumentation.StackExchangeRedis.StackExchangeRedisCallsInstrumentationOptionstoOpenTelemetry.Instrumentation.StackExchangeRedis.StackExchangeRedisInstrumentationOptions. WCFinstrumentation split toWCFCLIENTandWCFSERVICE. Both supported only on .NET Framework.WCFCLIENTandWCFSERVICEno longer requires manual modification of config files to includeTelemetryEndpointBehaviorExtensionElement.- GraphQL instrumentation is now supported from version 7.5.0 working on .NET.
Removed
- Removed
WCFinstrumentation for Core WCF Client working on .NET. - Removed GraphQL instrumentation for versions 2.3.0-2.4.*.
Known issues
- Lack of support for MySql.Data 8.0.33. See #2542.
0.7.0
Added
- Stability status added to the documentation.
- Support
OTEL_LOG_LEVELto configure SDK logging level. - Fallback for the service name.
If the service name is not configured, the automatic instrumentation uses
the entry assembly name instead, only falling back to the process name
in case of an error. If the application uses .NET Framework and is hosted
on IIS, the service name is determined using
SiteName/ApplicationVirtualPath. - Add MongoDB instrumentation support for .NET Framework.
- Added a rule engine to validate potential conflicts and unsupported scenarios, ensuring back off instead of crashing, improving overall stability.
- The environment variable
OTEL_DOTNET_AUTO_RULE_ENGINE_ENABLEDcould be used to enable or disable the rule engine. - Support for Container resource detector.
- Support for enabling well known resource detectors
by using the environment variables
OTEL_DOTNET_AUTO_RESOURCE_DETECTOR_ENABLEDOTEL_DOTNET_AUTO_{0}_RESOURCE_DETECTOR_ENABLED.
Removed
- Remove support for enabling debugging mode with
OTEL_DOTNET_AUTO_DEBUG. - Removed
OTEL_DOTNET_AUTO_INTEGRATIONS_FILEas a required environment variable for bytecode instrumentation setup
0.6.0
This release is built on top of OpenTelemetry .NET:
- Core components:
1.4.0 System.Diagnostics.DiagnosticSource:7.0.0
Changed
- Updated Core components:
1.4.0.
0.6.0-beta.2
This beta release is built on top of OpenTelemetry .NET:
- Core components:
1.4.0-rc.4 System.Diagnostics.DiagnosticSource:7.0.0
Added
- Support for systems with glibc versions 2.17-2.29.
Changed
- Updated Core components:
1.4.0-rc.4. - Replace
OTEL_DOTNET_AUTO_LEGACY_SOURCESwithOTEL_DOTNET_AUTO_TRACES_ADDITIONAL_LEGACY_SOURCES. - Updated the shared store to correctly support
framework roll-forward
from
net6.0tonet7.0.
Removed
- Remove support for plugin method
ConfigureMetricsOptions(OpenTelemetry.Instrumentation.Process.ProcessInstrumentationOptions).
Fixed
- Fix location of
OpenTelemetry.AutoInstrumentation.Native.soforlinux-musl-x64. - Fix issues when instrumenting
dotnetCLI #1477.
0.6.0-beta.1
This beta release is built on top of OpenTelemetry .NET:
- Core components:
1.4.0-rc.3 System.Diagnostics.DiagnosticSource:7.0.0
Added
- Support configuring
OTEL_*settings usingApp.configandWeb.config. - Add support for Quartz traces instrumentation.
- Add support for EntityFrameworkCore traces instrumentations.
- Add plugin support for
ResourceBuilder ConfigureResource(ResourceBuilder builder).
Changed
-
Updated Core components:
1.4.0-rc.3 -
Move
OpenTelemetry.AutoInstrumentation.Native.sotolinux-x64directory intracer-homefor Linux glibc,OpenTelemetry.AutoInstrumentation.Native.sotolinux-musl-x64for Linux musl andOpenTelemetry.AutoInstrumentation.Native.dylibtoosx-x64for MacOS. -
Change the way to manage enabled instrumentations. The following environmental variables:
OTEL_DOTNET_AUTO_TRACES_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_TRACES_DISABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_METRICS_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_METRICS_DISABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_LOGS_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_LOGS_DISABLED_INSTRUMENTATIONS
are replaced by:
OTEL_DOTNET_AUTO_INSTRUMENTATION_ENABLED,OTEL_DOTNET_AUTO_TRACES_INSTRUMENTATION_ENABLED,OTEL_DOTNET_AUTO_TRACES_{0}_INSTRUMENTATION_ENABLED,OTEL_DOTNET_AUTO_METRICS_INSTRUMENTATION_ENABLED,OTEL_DOTNET_AUTO_METRICS_{0}_INSTRUMENTATION_ENABLED,OTEL_DOTNET_AUTO_LOGS_INSTRUMENTATION_ENABLED,OTEL_DOTNET_AUTO_LOGS_{0}_INSTRUMENTATION_ENABLED.
-
Change instrumentation id for ASP.NET Core traces and metrics instrumentation from
AspNettoASPNETCORE.
Fixed
- Fix console error messages
Log: Exception creating FileSink#1885
0.5.1-beta.3
This beta release is built on top of OpenTelemetry .NET:
- Core components:
1.4.0-rc.1 System.Diagnostics.DiagnosticSource:7.0.0
Added
- Add support for NServiceBus metrics and traces instrumentations.
- Add support for Elasticsearch traces instrumentations.
- Add plugin support for
ConfigureTracesOptions(StackExchangeRedisCallsInstrumentationOptions options). - Add plugin support for
ConfigureMetricsOptions(AspNetCoreMetricsInstrumentationOptions options). - Add automatic assembly redirection for .NET Framework applications. The redirection
can be enabled or disabled via the
OTEL_DOTNET_AUTO_NETFX_REDIRECT_ENABLEDenvironment variable. See the additional settings table for details. - Add automatic Global Assembly Cache (GAC) registration, of the distributed .NET Framework assemblies, to the PowerShell installation module.
Changed
- Updated Core components:
1.4.0-rc.1
Removed
- Remove support for Jaeger exporter.
Fixed
- Fix WCF instrumentation on .NET Framework.
0.5.1-beta.2
Added
- Add support for
OTEL_TRACES_SAMPLERandOTEL_TRACES_SAMPLER_ARG. - Add
Initializingplugin extension point that is invoked before OpenTelemetry SDK configuration.
0.5.1-beta.1
This beta release is built on top of OpenTelemetry .NET:
- Core components:
1.4.0-beta.3 System.Diagnostics.DiagnosticSource:7.0.0
Added
- Add support for
OTEL_BSP_SCHEDULE_DELAY,OTEL_BSP_EXPORT_TIMEOUT,OTEL_BSP_MAX_QUEUE_SIZE,OTEL_BSP_MAX_EXPORT_BATCH_SIZE. - Add support for
OTEL_METRIC_EXPORT_TIMEOUT. - Add support for
OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT,OTEL_ATTRIBUTE_COUNT_LIMIT,OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT,OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT,OTEL_SPAN_EVENT_COUNT_LIMIT,OTEL_SPAN_LINK_COUNT_LIMIT,OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT,OTEL_LINK_ATTRIBUTE_COUNT_LIMITforotlpexporter.
Changed
- Updated Core components:
1.4.0-beta.3 - Updated plugins method signature to overwrite OpenTelemetry .NET SDK exporters'
and instrumentations' options.
ConfigureOptionschanged toConfigureTracesOptions,ConfigureMetricsOptionsorConfigureLogsOptions.
0.5.0
The is the first production-ready (non-beta) release. It is not stable yet.
Added
- Add support for .NET 7.
- Add support for
OTEL_DOTNET_AUTO_LOGS_ENABLED. - Add error log if bytecode instrumentation type is missing all instrumentation methods.
- Plugins can overwrite OpenTelemetry .NET SDK exporters' and instrumentations' options.
Changed
- Replace
OTEL_DOTNET_AUTO_LOAD_TRACER_AT_STARTUPwithOTEL_DOTNET_AUTO_TRACES_ENABLEDandOTEL_DOTNET_AUTO_LOAD_METER_AT_STARTUPwithOTEL_DOTNET_AUTO_METRICS_ENABLED. - Disable OpenTracing by default. OpenTracing can be re-enabled via
OTEL_DOTNET_AUTO_OPENTRACING_ENABLED. - GraphQL exceptions are recorded as OTel events.
DOTNET_STARTUP_HOOKSrequired value changed to$INSTALL_DIR/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll.
Removed
- Remove support for .NET Core 3.1.
- Remove support for
OTEL_DOTNET_AUTO_HTTP2UNENCRYPTEDSUPPORT_ENABLED. - Remove support for
OTEL_DOTNET_AUTO_ENABLED. UseCORECLR_ENABLE_PROFILINGorCOR_ENABLE_PROFILINGinstead. - Remove support for
OTEL_DOTNET_AUTO_INCLUDE_PROCESSES.
Fixed
- Fix the IIS registration in the PowerShell script module for Windows Server 2016.
- Fix the IIS unregistration in the PowerShell script module.
- Get rid of unnecessary service restarts during the IIS unregistration, in the PowerShell script module.
OTEL_DOTNET_AUTO_TRACES_ENABLEDis also respected by bytecode instrumentations.
0.4.0-beta.1
Added
- Add WCF traces instrumentation (server-side for .NET Framework, client-side for both .NET Core and .NET Framework).
- Support ASP.NET Core OpenTelemetry Log exporter related environment variables:
OTEL_LOGS_EXPORTER,OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED,OTEL_DOTNET_AUTO_LOGS_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_LOGS_DISABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_LOGS_INCLUDE_FORMATTED_MESSAGE.
- Support
OTEL_DOTNET_AUTO_GRAPHQL_SET_DOCUMENT(default value:false) environment variable which controls whethergraphql.documentattribute is set. - Add ILogger logging instrumentation for .NET Core 3.1+.
- Add telemetry resource attributes.
- Add support for the
b3propagator. - Add MassTransit traces instrumentation.
- Add
OpenTelemetry.AutoInstrumentationNuget package. - Support for Process metrics collection using
the
OpenTelemetry.Instrumentation.Processpackage. - Add Shell scripts for downloading and installing OpenTelemetry .NET Automatic Instrumentation and instrumenting .NET applications.
- Add PowerShell script module for downloading and installing OpenTelemetry .NET Automatic Instrumentation and instrumenting .NET applications.
Changed
- Replaced
OTEL_DOTNET_AUTO_TRACES_PLUGINSandOTEL_DOTNET_AUTO_METRICS_PLUGINSwith new environment variableOTEL_DOTNET_AUTO_PLUGINS. - Adjusted tags for MongoDB integration. See pull request for more details.
- Extend MySql.Data traces instrumentation for versions 8.0.31+. Versions 8.0.31+ require bytecode instrumentation.
Removed
- Removed support for MongoDB integration for MongoDB.Driver.Core prior to 2.13.3.
Fixed
- Log folder structure is fully created on Linux.
- Update GraphQL instrumentation to follow the OpenTelemetry semantic conventions.
- Fixed the race between requesting ReJIT of methods targeted for bytecode instrumentation and their first execution. The race allowed, in rare occasions, for the first few executions of the method to not be instrumented. See issue #1242.
- Span kind for GraphQL instrumentation is set as span property instead of attribute.
- Application crash if "wrapper type" from bytecode instrumentation is missing #1469.
0.3.1-beta.1
This release is built on top of OpenTelemetry .NET:
- Core components:
1.3.1 System.Diagnostics.DiagnosticSource:6.0.0
Added
- Add support for Alpine.
- Add strong name signature to the OpenTelemetry.AutoInstrumentation assembly used on the .NET Framework.
Changed
- Extend StackExchange.Redis traces instrumentation for versions 2.6.66+.
- Updated Core components:
1.3.1
0.3.0-beta.1
This release add various new instrumentations and more propagation options.
Added
- Add Grpc.Net.Client traces instrumentation.
- Add MySql.Data traces instrumentation.
- Add Npgsql traces instrumentation.
- Add StackExchange.Redis traces instrumentation.
- Add configuration option
nonetoOTEL_DOTNET_AUTO_TRACES_ENABLED_INSTRUMENTATIONSandOTEL_DOTNET_AUTO_METRICS_ENABLED_INSTRUMENTATIONS. - Add support for the
b3multipropagator. - Add support for the
OTEL_PROPAGATORSenvironment variable. Supported configuration options areb3multi,baggage,tracecontext. Default istracecontext,baggage.
Changed
- Renamed
OTEL_DOTNET_AUTO_TRACES_ENABLEDtoOTEL_DOTNET_AUTO_ENABLEDsince it controls enabling or disabling the CLR profiler independent of the signal type. OTEL_DOTNET_AUTO_TRACES_ENABLED_INSTRUMENTATIONSdefault value is changed to include all of the available instrumentations.OTEL_DOTNET_AUTO_METRICS_ENABLED_INSTRUMENTATIONSdefault value is changed to include all of the available instrumentations.- Changed Tracing sampler from
always_ontoparentbased_always_on. See the OpenTelemetry specification for more details.
Removed
- Remove
OTEL_DOTNET_AUTO_DOMAIN_NEUTRAL_INSTRUMENTATIONconfiguration as it is not needed. - Remove
OTEL_DOTNET_AUTO_{0}_ENABLEDconfiguration, useOTEL_DOTNET_AUTO_[TRACES/METRICS]_[ENABLED/DISABLED]_INSTRUMENTATIONSinstead. - Remove
OTEL_DOTNET_AUTO_METRICS_ENABLEDconfiguration as it is not needed.
0.2.0-beta.1
The main feature of this release is the support for the metrics signal.
This release is built on top of OpenTelemetry .NET:
- Core components:
1.3.0 System.Diagnostics.DiagnosticSource:6.0.0
You can find all OpenTelemetry references in OpenTelemetry.AutoInstrumentation.csproj.
Added
- Add MongoDB instrumentation support from .NET Core 3.1+.
- Support for OpenTelemetry metric exporter related environment variables:
OTEL_DOTNET_AUTO_METRICS_ENABLED,OTEL_DOTNET_AUTO_LOAD_METER_AT_STARTUP,OTEL_METRICS_EXPORTER,OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED,OTEL_DOTNET_AUTO_METRICS_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_METRICS_DISABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_METRICS_PLUGINS,OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES.
- Support for .NET Runtime metrics collection using
the
OpenTelemetry.Instrumentation.Runtimepackage. - Support for ASP.NET and HttpClient metrics instrumentations.
- Support for Prometheus Exporter HttpListener version.
OTEL_DOTNET_AUTO_INTEGRATIONS_FILEcan accept multiple filepaths delimited by the platform-specific path separator (;on Windows,:on Linux and macOS).- Support for metric exporter interval using environment variable:
OTEL_METRIC_EXPORT_INTERVAL.
Changed
- Rename generic environment variables to include trace.
OTEL_DOTNET_AUTO_ENABLED→OTEL_DOTNET_AUTO_TRACES_ENABLED,OTEL_DOTNET_AUTO_LOAD_AT_STARTUP→OTEL_DOTNET_AUTO_LOAD_TRACER_AT_STARTUP,OTEL_DOTNET_AUTO_CONSOLE_EXPORTER_ENABLED→OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED,OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS→OTEL_DOTNET_AUTO_TRACES_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_DISABLED_INSTRUMENTATIONS→OTEL_DOTNET_AUTO_TRACES_DISABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS→OTEL_DOTNET_AUTO_TRACES_PLUGINS,OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES→OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES.
Removed
- Support for .NET 5.0
Fixed
- Use
,as separator, as documented, instead of;, for:OTEL_DOTNET_AUTO_INCLUDE_PROCESSES,OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES,OTEL_DOTNET_AUTO_TRACES_DISABLED_INSTRUMENTATIONS.
- Remove invalid instrumentation for
MongoDB.Driver.Core<2.3.0.
0.1.0-beta.1
The is an initial, official beta release, built on top of OpenTelemetry .NET:
- Core components:
1.2.0 - Non-core components:
1.0.0-rc9.2 System.Diagnostics.DiagnosticSource:6.0.0
Added
- Support for .NET Framework 4.6.2 and higher.
- Support for .NET Core 3.1.
- Support for .NET 5.0 and 6.0.
- ASP.NET and ASP.NET Core source instrumentations.
- GraphQL bytecode instrumentation.
- Microsoft.Data.SqlClient and System.Data.SqlClient source instrumentation.
- OTLP, Jaeger, Zipkin and Console trace exporters.
- Global management using environment variables:
OTEL_DOTNET_AUTO_HOME,OTEL_DOTNET_AUTO_ENABLED,OTEL_DOTNET_AUTO_INCLUDE_PROCESSES,OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES,OTEL_DOTNET_AUTO_AZURE_APP_SERVICES. - Support for OpenTelemetry resource environment variables:
OTEL_RESOURCE_ATTRIBUTES,OTEL_SERVICE_NAME. - Instrumentation management using environment variables:
OTEL_DOTNET_AUTO_INTEGRATIONS_FILE,OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_DISABLED_INSTRUMENTATIONS,OTEL_DOTNET_AUTO_{0}_ENABLED,OTEL_DOTNET_AUTO_DOMAIN_NEUTRAL_INSTRUMENTATION,OTEL_DOTNET_AUTO_CLR_DISABLE_OPTIMIZATIONS,OTEL_DOTNET_AUTO_CLR_ENABLE_INLINING,OTEL_DOTNET_AUTO_CLR_ENABLE_NGEN. - Support for OpenTelemetry exporter related environment variables:
OTEL_TRACES_EXPORTER,OTEL_EXPORTER_OTLP_PROTOCOL, - Customization and plugin capabilities which can be configured
using the following environment variables:
OTEL_DOTNET_AUTO_LOAD_AT_STARTUP,OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES,OTEL_DOTNET_AUTO_LEGACY_SOURCES,OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS. OTEL_DOTNET_AUTO_HTTP2UNENCRYPTEDSUPPORT_ENABLEDenvironment variable which enablesSystem.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport. See the official Microsoft documentation for more details.