Skip to content

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Sep 29, 2025

Updated OpenTelemetry.Instrumentation.AspNetCore from 1.0.0-rc9.4 to 1.8.1.

Release notes

Sourced from OpenTelemetry.Instrumentation.AspNetCore's releases.

1.8.1

OpenTelemetry.Instrumentation.AspNetCore

  • Breaking Change: Fixed tracing instrumentation so that by default any
    values detected in the query string component of requests are replaced with
    the text Redacted when building the url.query tag. For example,
    ?key1=value1&key2=value2 becomes ?key1=Redacted&key2=Redacted. You can
    disable this redaction by setting the environment variable
    OTEL_DOTNET_EXPERIMENTAL_ASPNETCORE_DISABLE_URL_QUERY_REDACTION to true.
    (#​5532)

1.8.0

If you're interested in knowing all of the changes that went into 1.8.0 release, please go through the release notes of all the previous pre-release versions for 1.8.0:

Changes in 1.8.0:

OpenTelemetry.Exporter.Console

  • Added support for ActivitySource.Version property.
    (#​5472)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • OtlpExporter will no longer throw an exception (even on .NET Core 3.1)
    when the System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport
    AppContext switch is NOT set AND using OtlpExportProtocol.Grpc
    to send to an insecure ("http") endpoint.
    System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport
    is not required to be set when using .NET 5 or newer.
    (#​5486)

  • Replaced environment variable
    OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_INMEMORY_RETRY with
    OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY. OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY
    when set to in_memory will enable automatic retries in case of transient
    failures during data export to an OTLP endpoint.
    (#​5495)

1.8.0-rc.1

OpenTelemetry

  • TracerProviders can now have a sampler configured via the
    OTEL_TRACES_SAMPLER environment variable. The supported values are:
    always_off, always_on, traceidratio, parentbased_always_on,
    parentbased_always_off, and parentbased_traceidratio. The options
    traceidratio and parentbased_traceidratio may have the sampler probability
    configured via the OTEL_TRACES_SAMPLER_ARG environment variable.
    For details see: OpenTelemetry Environment Variable
    Specification
    .
    (#​5448)

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Fix serializing scope_info when buffer overflows
    (#​5407)

  • Add target_info to Prometheus exporters when using OpenMetrics
    (#​5407)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Fix serializing scope_info when buffer overflows
    (#​5407)

  • Add target_info to Prometheus exporters when using OpenMetrics
    (#​5407)

OpenTelemetry.Exporter.Zipkin

  • Zipkin tags used for Instrumentation Library changed from otel.library.name and
    otel.library.version to otel.scope.name and otel.scope.version respectively.
    Old versions of attributes are deprecated, but still exported
    for backward compatibility.
    (#​5473)

1.8.0-beta.1

OpenTelemetry

  • Throw NotSupportedException when using SetErrorStatusOnException method for Tracing in Mono Runtime and Native AOT environment because the dependent Marshal.GetExceptionPointers() API is not supported on these platforms. (#​5374)

  • Fixed an issue where LogRecord.Attributes (or LogRecord.StateValues alias) could become out of sync with LogRecord.State if either is set directly via the public setters. This was done to further mitigate issues introduced in 1.5.0 causing attributes added using custom processor(s) to be missing after upgrading. For details see:(#​5169)

  • Fixed an issue where SimpleExemplarReservoir was not resetting internal state for cumulative temporality. (#​5230)

  • Fixed an issue causing LogRecords to be incorrectly reused when wrapping an instance of BatchLogRecordExportProcessor inside another
    BaseProcessor<LogRecord> which leads to missing or incorrect data during export. (#​5255)

  • Experimental (pre-release builds only): Added support for setting CardinalityLimit (the maximum number of data points allowed for a metric) when configuring a view (applies to individual metrics) and obsoleted MeterProviderBuilderExtensions.SetMaxMetricPointsPerMetricStream (previously applied to all metrics). The default cardinality limit for metrics remains at 2000. (#​5312, #​5328)

  • Updated LogRecord to keep CategoryName and Logger in sync when using the experimental Log Bridge API. #​5317

  • Added OpenTelemetryBuilderSdkExtensions class which contains extension methods (ConfigureResource, WithMetrics, WithTracing, and experimental WithLogging) for the IOpenTelemetryBuilder interface. (#​5265)

  • Added Microsoft.Extensions.Diagnostics.Abstractions dependency so that the IOpenTelemetryBuilder.WithMetrics extension method can configure IMetricsListener. (#​5265)

  • Experimental (pre-release builds only): The Exemplar.FilteredTags property now returns a ReadOnlyFilteredTagCollection instance and the Exemplar.LongValue property has been added. The MetricPoint.GetExemplars method has been replaced by MetricPoint.TryGetExemplars which outputs a ReadOnlyExemplarCollection instance. These are breaking changes for metrics exporters which support exemplars. (#​5386)

  • Experimental (pre-release builds only): Added support for exemplars when using Base2 Exponential Bucket Histogram Aggregation configured via the View API. (#​5396)

  • Experimental (pre-release builds only): Removed the ExemplarFilter, AlwaysOffExemplarFilter, AlwaysOnExemplarFilter, and TraceBasedExemplarFilter APIs. The MeterProviderBuilder.SetExemplarFilter extension method now accepts an ExemplarFilterType enumeration (which contains definitions for the supported filter types AlwaysOff, AlwaysOn, and TraceBased) instead of an ExemplarFilter instance. This was done in response to changes made to the OpenTelemetry Metrics SDK Specification. (#​5404)

  • Experimental (pre-release builds only): The ExemplarFilter used by SDK MeterProviders can now be controlled via the OTEL_METRICS_EXEMPLAR_FILTER environment variable. The supported values are: always_off, always_on, and trace_based. For details see: OpenTelemetry Environment Variable Specification. (#​5412)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Added IOpenTelemetryBuilder interface to support authoring extensions which can configure multiple OpenTelemetry signals (tracing, metrics, and/or logs). (#​5265)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Experimental (pre-release builds only): Added LoggerProviderBuilder.AddOtlpExporter registration extensions. #​5103

  • Removed the OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES environment variable, following the stabilization of the exception attributes exception.type, exception.message, and exception.stacktrace in the OpenTelemetry Semantic Conventions. These attributes, corresponding to LogRecord.Exception, are now stable and will be automatically included in exports. (#​5258)

  • Updated OtlpLogExporter to set body on the data model from LogRecord.Body if {OriginalFormat} attribute is NOT found and FormattedMessage is null. This is typically the case when using the
    experimental Logs Bridge API. (#​5268)

  • Updated OtlpLogExporter to set instrumentation scope name on the data model from LogRecord.Logger.Name if LogRecord.CategoryName is null. This is typically the case when using the experimental Logs Bridge API. (#​5300)

  • URL encoded values in OTEL_EXPORTER_OTLP_HEADERS are now correctly decoded as it is mandated by the specification. (#​5316)

  • Experimental (pre-release builds only): Add support in OtlpMetricExporter for emitting exemplars supplied on Counters, Gauges, and
    ExponentialHistograms. (#​5397)

  • Setting Endpoint or HttpClientFactory properties on OtlpExporterOptions to null will now result in an ArgumentNullException being thrown. (#​5434)

  • Introduced experimental support for automatically retrying export to the otlp endpoint when transient network errors occur. Users can enable this feature by setting OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_INMEMORY_RETRY environment variable to true. (#​5435)
    ... (truncated)

1.7.1

1.7.1 (stable instrumentation)

OpenTelemetry.Instrumentation.AspNetCore

  • Fixed issue #​4466 where the activity instance returned by Activity.Current was different than instance obtained from IHttpActivityFeature.Activity. (#​5136)
  • Fixed an issue where the http.route attribute was not set on either the Activity or http.server.request.duration metric generated from a request when an exception handling middleware is invoked. One caveat is that this fix does not address the problem for the http.server.request.duration metric when running ASP.NET Core 8. ASP.NET Core 8 contains an equivalent fix which should ship in version 8.0.2 (see: dotnet/aspnetcore#​52652). (#​5135)
  • Fixes scenario when the net6.0 target of this library is loaded into a .NET 7+ process and the instrumentation does not behave as expected. This is an unusual scenario that does not affect users consuming this package normally. This fix is primarily to support the opentelemetry-dotnet-instrumentation project. (#​5252)

OpenTelemetry.Instrumentation.Http

  • .NET Framework - fix description for http.client.request.duration metric. (#​5234)

1.7.0-beta.1 (pre-release instrumentation)

OpenTelemetry.Instrumentation.SqlClient

  • Removed support for the OTEL_SEMCONV_STABILITY_OPT_IN environment variable which toggled the use of the new conventions for the server, client, and shared network attributes. Now that this suite of attributes are stable, this instrumentation will only emit the new attributes. (#​5270)
  • Breaking Change: Renamed SqlClientInstrumentationOptions to SqlClientTraceInstrumentationOptions. (#​5285)
  • Breaking Change: Stop emitting db.statement_type attribute. This attribute was never a part of the semantic conventions. (#​5301)

OpenTelemetry.Instrumentation.GrpcNetClient

  • Breaking Change: Please be advised that the SuppressDownstreamInstrumentation option no longer works when used in conjunction with the OpenTelemetry.Instrumentation.Http package version 1.6.0 or greater. This is not a result of a change in the OpenTelemetry.Instrumentation.GrpcNetClient package therefore this also affects versions prior to this release. See this issue for details and workaround.
  • Removed support for the OTEL_SEMCONV_STABILITY_OPT_IN environment variable which toggled the use of the new conventions for the server, client, and shared network attributes. Now that this suite of attributes are stable, this instrumentation will only emit the new attributes. (#​5259)
  • Breaking Change: Renamed GrpcClientInstrumentationOptions to GrpcClientTraceInstrumentationOptions. (#​5272)

1.7.0

1.7.0 release for core components

If you're interested in knowing all of the changes that went into 1.7.0 release, please go through the Release notes of all the previous pre-release versions for 1.7.0.

1.7.0-beta.1 release for non-core components

Note: Instrumentation libraries were not included for 1.7.0-beta.1.

OpenTelemetry.Shims.OpenTracing

  • Remove obsolete TracerShim(Tracer, TextMapPropagator) constructor. Use TracerShim(TracerProvider) or TracerShim(TracerProvider, TextMapPropagator) constructors. (#​4862)

1.7.0-rc.1

OpenTelemetry

  • The AddService ResourceBuilder extension method will now generate the same service.instance.id for the lifetime of a process when autoGenerateServiceInstanceId is true. (#​4988)

  • Fixed a Metrics SDK bug which led to ExemplarReservoir.Offer always being called regardless of whether or not the ExemplarFilter sampled the measurement. (#​5004) (#​5016)

  • Update Metrics SDK to override the default histogram buckets for the followingmetrics from ASP.NET Core and HttpClient runtime:

    • signalr.server.connection.duration
    • kestrel.connection.duration
    • http.client.connection.duration

    These histogram metrics which have their Unit as s (second) will have their default histogram buckets as [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ]. (#​5008) (#​5021)

  • Remove the bucket with value 0 for histogram buckets for all metrics from ASP.NET Core and HttpClient. (#​5021)

  • Updated Microsoft.Extensions.Logging.Configuration package version to 8.0.0. (#​5051)

  • Updated Microsoft.Extensions.Logging package version to 8.0.0. (#​5051)

  • Revert the default behavior of Metrics SDK for Delta aggregation. It would not reclaim unused Metric Points by default. You can enable the SDK to reclaim unused Metric Points by setting the environment variable OTEL_DOTNET_EXPERIMENTAL_METRICS_RECLAIM_UNUSED_METRIC_POINTS to true before setting up the MeterProvider. (#​5052)

  • Update Metrics SDK to override the default histogram buckets for ASP.NET (.NET Framework).

    Histogram metrics for the meter name OpenTelemetry.Instrumentation.AspNet and instrument name http.request.server.duration which have their Unit as s (second) will have their default histogram buckets as [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]. (#​5063)

  • Added AddProcessor overload on OpenTelemetryLoggerOptions which exposes the factory pattern (Func<IServiceProvider, BaseProcessor<LogRecord>> implementationFactory). (#​4916)

  • Add support for Instrumentation Scope Attributes (i.e Meter Tags), fixing issue #​4563. (#​5089)

  • Added the ILoggingBuilder.UseOpenTelemetry experimental API extension for registering OpenTelemetry ILogger integration using LoggerProviderBuilder which supports the full DI (IServiceCollection \ IServiceProvider) API surface (mirrors tracing & metrics). (#​5072)

  • Changed the ILoggingBuilder registration extensions (AddOpenTelemetry & UseOpenTelemetry) to fire the optional OpenTelemetryLoggerOptions configuration delegate AFTER the "Logging:OpenTelemetry" IConfiguration section has been applied. (#​5072)

OpenTelemetry.Api

  • Updated System.Diagnostics.DiagnosticSource package version to 8.0.0. (#​5051)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Updated Microsoft.Extensions.DependencyInjection.Abstractions package version to 8.0.0. (#​5051)

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Made OpenTelemetry.Exporter.OtlpLogExporter public. (#​4979)

  • Updated the OpenTelemetryLoggerOptions.AddOtlpExporter extension to retrieve OtlpExporterOptions and LogRecordExportProcessorOptions using the IServiceProvider / Options API so that they can be controlled via IConfiguration (similar to metrics and traces). (#​4916)
    ... (truncated)

1.7.0-alpha.1

OpenTelemetry

  • Update AggregatorStore to reclaim unused MetricPoints for Delta aggregation temporality. (#​4486)

  • Fixed a bug where TracerProviderBuilderBase was not invoking the instrumentationFactory delegate passed to the protected
    AddInstrumentation method. (#​4873)

  • Allowed metric instrument names to contain / characters. (#​4882)

  • Breaking Change [Tracer|Meter|Logger]ProviderBuilder.Build extension will now throw a NotSupportedException if invoked on a non-SDK builder type. Previously it would return null. (#​4885)

  • Updated Microsoft.Extensions.Logging package version to 8.0.0-rc.1.23419.4. (#​4920, #​4933)

OpenTelemetry.Api

  • Fixed a bug which caused Tracer.StartRootSpan to generate a child span if a trace was running (Activity.Current != null). (#​4890)

  • Added a Tracer cache inside of TracerProvider to prevent repeated calls to GetTracer from leaking memory. (#​4906)

  • Fix TraceContextPropagator by validating the first digit of the hex-encoded trace-flags field of the traceparent header. (#​4893)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Bumped the version of Google.Protobuf used by the project to 3.22.5 so that consuming applications can be published as NativeAOT successfully. Also, a new performance feature can be used instead of reflection emit, which is not AOT-compatible. Removed the dependency on System.Reflection.Emit.Lightweight. (#​4859)

  • Added support for OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT and OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT. (#​4887)

  • Added ability to export attributes corresponding to LogRecord.Exception i.e. exception.type, exception.message and exception.stacktrace. These attributes will be exported when OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES environment variable will be set to true.

    NOTE: These attributes were removed in 1.6.0-rc.1 release in order to support stable release of OTLP Log Exporter. The attributes will now be available via environment variable mentioned above. (#​4892)

  • Added ability to export attributes corresponding to LogRecord.EventId.Id as logrecord.event.id and LogRecord.EventId.Name as logrecord.event.name. The attributes will be exported when OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES will be set to true.

    NOTE: These attributes were removed in 1.6.0-rc.1 release in order to support stable release of OTLP Log Exporter. The attributes will now be available via environment variable mentioned above. (#​4925)

  • LogRecord.CategoryName will now be exported as InstrumentationScope name field under ScopeLogs. (#​4941)

OpenTelemetry.Exporter.Prometheus.AspNetCore

  • Fixed writing boolean values to use the JSON representation (#​4823)

OpenTelemetry.Exporter.Prometheus.HttpListener

  • Fixed writing boolean values to use the JSON representation (#​4823)

OpenTelemetry.Extensions.Hosting

  • Changed the behavior of the OpenTelemetryBuilder.AddOpenTelemetry extension to INSERT OpenTelemetry services at the beginning of the IServiceCollection in an attempt to provide a better experience for end users capturing telemetry in hosted services. Note that this does not guarantee that OpenTelemetry services will be initialized while other hosted services start, so it is possible to miss telemetry until OpenTelemetry services are fully initialized. (#​4883)

1.6.0

1.6.0 release for core components

Note: The below only shows the changes that were added to the core components post 1.6.0-rc.1 release. If you're interested in knowing all of the changes that went into 1.6.0 release, please go through the Release notes of all the previous pre-release versions for 1.6.0.

OpenTelemetry

  • Increased the character limit of the Meter instrument name from 63 to 255.
    (#​4774)

  • Update default size for SimpleExemplarReservoir to 1.
    (#​4803)

1.6.0-beta.1 release for non-core components

Note: Instrumentation libraries were not included for 1.6.0-beta.1.

OpenTelemetry.Shims.OpenTracing

  • Fix: Do not raise ArgumentException if Activity behind the shim span
    has an invalid context.
    (#​2787)
  • Obsolete TracerShim(Tracer, TextMapPropagator) constructor.
    Provide TracerShim(TracerProvider)
    and TracerShim(TracerProvider, TextMapPropagator) constructors.
    (#​4812)

1.6.0-rc.1

OpenTelemetry

  • Experimental Feature Added an opt-in feature to aggregate any metric
    measurements that were dropped due to reaching the max MetricPoints
    limit
    .
    When this feature is enabled, SDK would aggregate such measurements using a
    reserved MetricPoint with a single tag with key as otel.metric.overflow and
    value as true. The feature is turned-off by default. You can enable it by
    setting the environment variable
    OTEL_DOTNET_EXPERIMENTAL_METRICS_EMIT_OVERFLOW_ATTRIBUTE to true before
    setting up the MeterProvider.
    (#​4737)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Excluded attributes corresponding to LogRecord.EventId,
    LogRecord.CategoryName and LogRecord.Exception from the exported data. This
    is done as the semantic conventions for these attributes are not yet stable.
    (#​4781)

  • Added extension method for configuring export processor options for otlp log
    exporter.
    (#​4733)

  • Added support for configuring the metric exporter's temporality using the
    environment variable OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE as
    defined in the
    specification.
    (#​4667)

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Extensions.Hosting

  • Experimental (pre-release builds only): Added Logs Bridge
    API

    implementation (OpenTelemetryBuilder.WithLogging).
    (#​4735)

1.6.0-beta.3

OpenTelemetry.Instrumentation.AspNetCore

  • Removed the Activity Status Description that was being set during exceptions. Activity Status will continue to be reported as Error. This is a breaking change. EnrichWithException can be leveraged
    to restore this behavior. (#​5025)

  • Updated http.request.method to match specification guidelines.

    • For activity, if the method does not belong to one of the known values then the request method will be set on an additional tag http.request.method.original and http.request.method will be set to _OTHER.
    • For metrics, if the original method does not belong to one of the known values then http.request.method on http.server.request.duration metric will be set to _OTHER

    http.request.method is set on http.server.request.duration metric or activity when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup.
    (#​5001)

  • An additional attribute error.type will be added to activity and http.server.request.duration metric when the request results in unhandled exception. The attribute value will be set to full name of exception type.
    The attribute will only be added when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#​4986)

  • Fixed network.protocol.version attribute values to match the specification. (#​5007)

  • Calls to /metrics will now be included in the http.server.request.duration metric. This change may affect Prometheus pull scenario if the Prometheus server sends request to the scraping endpoint that contains /metrics in path. (#​5044)

  • Fixes the http.route attribute for scenarios in which it was previously missing or incorrect. Additionally, the http.route attribute is now the same for both the metric and Activity emitted for a request
    Lastly, the Activity.DisplayName has been adjusted to have the format {http.request.method} {http.route} to conform with the specification. There remain scenarios when using conventional routing or Razor pages where http.route is still incorrect. See #​5056 and #​5057 for more details. (#​5026)

  • Removed network.protocol.name from http.server.request.duration metric as per spec. (#​5049)

OpenTelemetry.Instrumentation.Http

  • Removed the Activity Status Description that was being set during exceptions. Activity Status will continue to be reported as Error. This is a breaking change. EnrichWithException can be leveraged to restore this behavior. (#​5025)

  • Updated http.request.method to match specification guidelines.

    • For activity, if the method does not belong to one of the known values then the request method will be set on an additional tag http.request.method.original and http.request.method will be set to _OTHER.
    • For metrics, if the original method does not belong to one of the known values then http.request.method on http.client.request.duration metric will be set to _OTHER

    http.request.method is set on http.client.request.duration metric or activity when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#​5003)

  • An additional attribute error.type will be added to activity and http.client.request.duration metric in case of failed requests as per the specification.

    Users moving to net8.0 or newer frameworks from lower versions will see difference in values in case of an exception. net8.0 or newer frameworks add the ability to further drill down the exceptions to a specific type through HttpRequestError enum. For lower versions, the individual types will be rolled in to a single type. This could be a breaking change if alerts are set based on the values.

    The attribute will only be added when OTEL_SEMCONV_STABILITY_OPT_IN environment variable is set to http or http/dup. (#​5005) (#​5034)

  • Fixed network.protocol.version attribute values to match the specification. (#​5006)

  • Set network.protocol.version value using the protocol version on the received response. If the request fails without response, then network.protocol.version attribute will not be set on Activity and http.client.request.duration metric. (#​5043)

OpenTelemetry.Instrumentation.SqlClient

  • Updated Microsoft.Extensions.Configuration and Microsoft.Extensions.Options package version to 8.0.0. (#​5051)

1.6.0-beta.2

OpenTelemetry.Instrumentation.AspNetCore

This new metric is only available for users who opt-in to the new semantic convention by configuring the OTEL_SEMCONV_STABILITY_OPT_IN environment variable to either http (to emit only the new metric) or http/dup (to emit both the new and old metrics). (#​4802)

  • New metric: http.server.request.duration
    • Unit: s (seconds)
    • Histogram Buckets: 0, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10
  • Old metric: http.server.duration
    • Unit: ms (milliseconds)
    • Histogram Buckets: 0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000

Note: the older http.server.duration metric and OTEL_SEMCONV_STABILITY_OPT_IN environment variable will eventually be removed after the HTTP semantic conventions are marked stable. At which time this instrumentation can publish a stable release. Refer to the specification for more information regarding the new HTTP semantic conventions for both spans and metrics.

  • Following metrics will now be enabled by default when targeting .NET8.0 or newer framework:

    • Meter : Microsoft.AspNetCore.Hosting

      • http.server.request.duration
      • http.server.active_requests
    • Meter : Microsoft.AspNetCore.Server.Kestrel

      • kestrel.active_connections
      • kestrel.connection.duration
      • kestrel.rejected_connections
      • kestrel.queued_connections
      • kestrel.queued_requests
      • kestrel.upgraded_connections
      • kestrel.tls_handshake.duration
      • kestrel.active_tls_handshakes
    • Meter : Microsoft.AspNetCore.Http.Connections

      • signalr.server.connection.duration
      • signalr.server.active_connections
    • Meter : Microsoft.AspNetCore.Routing

      • aspnetcore.routing.match_attempts
    • Meter : Microsoft.AspNetCore.Diagnostics

      • aspnetcore.diagnostics.exceptions
    • Meter : Microsoft.AspNetCore.RateLimiting

      • aspnetcore.rate_limiting.active_request_leases
      • aspnetcore.rate_limiting.request_lease.duration
      • aspnetcore.rate_limiting.queued_requests
      • aspnetcore.rate_limiting.request.time_in_queue
      • aspnetcore.rate_limiting.requests

    For details about each individual metric check ASP.NET Core docs page.

... (truncated)

1.6.0-alpha.1

OpenTelemetry

OpenTelemetry.Api

  • Updated System.Diagnostics.DiagnosticSource package version to 7.0.2.
    (#​4576)

  • Breaking change In order to make RuntimeContext compatible with
    ahead-of-time compilation (AOT), RuntimeContext.ContextSlotType can only be
    assigned one of the following types: AsyncLocalRuntimeContextSlot<>,
    ThreadLocalRuntimeContextSlot<>, and RemotingRuntimeContextSlot<>. A
    System.NotSupportedException will be thrown if you try to assign any type
    other than the three types mentioned.
    (#​4542)

  • Added Logs Bridge
    API

    implementation (LoggerProviderBuilder, LoggerProvider, Logger, etc.).
    (#​4433)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Added extension methods to support using the Logs Bridge
    API

    ... (truncated)

1.5.1

OpenTelemetry

  • Fixed a breaking change causing LogRecord.State to be null where it was previously set to a valid value when OpenTelemetryLoggerOptions.ParseStateValues is false and states implement IReadOnlyList or IEnumerable of KeyValuePair<string, object>s. (#​4609)

  • Breaking Change Removed the support for parsing TState types passed to the ILogger.Log<TState> API when ParseStateValues is true and TState does not implement either IReadOnlyList<KeyValuePair<string, object>> or IEnumerable<KeyValuePair<string, object>>. This feature was first introduced in the 1.5.0 stable release with #​4334 and has been removed because it makes the OpenTelemetry .NET SDK incompatible with native AOT. (#​4614)

1.5.1-beta.1

For all the four instrumentation libraries: AspNetCore, HttpClient, GrpcNetClient, SqlClient:

  • The new HTTP and network semantic conventions can be opted in to by setting
    the OTEL_SEMCONV_STABILITY_OPT_IN environment variable. This allows for a
    transition period for users to experiment with the new semantic conventions
    and adapt as necessary. The environment variable supports the following
    values:
    • http - emit the new, frozen (proposed for stable) HTTP and networking
      attributes, and stop emitting the old experimental HTTP and networking
      attributes that the instrumentation emitted previously.
    • http/dup - emit both the old and the frozen (proposed for stable) HTTP
      and networking attributes, allowing for a more seamless transition.
    • The default behavior (in the absence of one of these values) is to continue
      emitting the same HTTP and network semantic conventions that were emitted in
      1.5.0-beta.1.
    • Note: this option will eventually be removed after the new HTTP and
      network semantic conventions are marked stable. At which time this
      instrumentation can receive a stable release, and the old HTTP and
      network semantic conventions will no longer be supported. Refer to the
      specification for more information regarding the new HTTP and network
      semantic conventions for both spans and metrics.

OpenTelemetry.Instrumentation.AspNetCore

  • Fixed an issue affecting NET 7.0+. If custom propagation is being used
    and tags are added to an Activity during sampling then that Activity would be dropped.
    (#​4637)

1.5.0

OpenTelemetry

  • Fixed a bug introduced by
    #​4508 in
    1.5.0-rc.1 which caused the "Build" extension to return null when performing
    chained/fluent calls.
    (#​4529)

  • Marked Exemplars and related APIs internal as the spec for Exemplars is
    not stable yet. This would be added back in the 1.6.* prerelease versions
    right after 1.5.0 stable version is released.
    (#​4533)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Added an IServiceCollection.ConfigureOpenTelemetryMeterProvider overload
    which may be used to configure MeterProviderBuilders while the
    IServiceCollection is modifiable (before the IServiceProvider has been
    created).
    (#​4517)

OpenTelemetry.Exporter.Console

  • Remove support for exporting Exemplars. This would be added back in the
    1.6.* prerelease versions right after 1.5.0 stable version is released.
    (#​4533)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Remove support for exporting Exemplars. This would be added back in the
    1.6.* prerelease versions right after 1.5.0 stable version is released.
    (#​4533)

OpenTelemetry.Instrumentation.AspNetCore

  • Fix issue where baggage gets cleared when the ASP.NET Core Activity
    is stopped. The instrumentation no longer clears baggage. One problem
    this caused was that it prevented Activity processors from accessing baggage
    during their OnEnd call.
    (#​4274)

  • Added direct reference to System.Text.Encodings.Web with minimum version of
    4.7.2 due to CVE-2021-26701.
    This impacts target frameworks netstandard2.0 and netstandard2.1 which has a
    reference to Microsoft.AspNetCore.Http.Abstractions that depends on
    System.Text.Encodings.Web >= 4.5.0.
    (#​4399)

  • Improve perf by avoiding boxing of common status codes values.
    (#​4360,
    ... (truncated)

1.5.0-rc.1

OpenTelemetry

  • The default resource provided by ResourceBuilder.CreateDefault() now adds
    the telemetry.sdk.* attributes defined in the
    specification.
    (#​4369)

  • Fixed an issue with HashCode computations throwing exceptions on .NET
    Standard 2.1 targets.
    (#​4362)

  • Update value of the resource attribute telemetry.sdk.version to show the tag
    name which resembles the package version of the SDK.
    (#​4375)

  • Obsoleted State and StateValues properties and added Body and
    Attributes properties on LogRecord. Note: LogRecord.Attributes and
    LogRecord.StateValues point to the same data. "Attributes" is what the
    OpenTelemetry Specification defines so this was changed for clarity &
    consistency with the specification.
    (#​4334)

  • Tweaked the behavior of the OpenTelemetryLoggerOptions.ParseStateValues
    flag:

    • LogRecord.Attributes (aka LogRecord.StateValues) are now automatically
      included for all log messages with states implementing IReadOnlyList or
      IEnumerable.

    • OpenTelemetryLoggerOptions.ParseStateValues is now used to tell the SDK to
      parse (using reflection) attributes for custom states which do not implement
      IReadOnlyList or IEnumerable. Only top-level properties are included.

    • LogRecord.State will only be set to the raw state object if no attributes
      are found.

    See #​4334
    for details.

  • If a template ({OriginalFormat} attribute) cannot be found on log messages a
    formatted message will now automatically be generated (even if
    OpenTelemetryLoggerOptions.IncludeFormattedMessage is set to false).
    (#​4334)

OpenTelemetry.Api.ProviderBuilderExtensions

  • Fixed a bug which prevented the
    TracerProviderBuilder.AddInstrumentation(IServiceProvider, TracerProvider)
    factory extension from being called during construction of the SDK
    TracerProvider.
    ... (truncated)

1.5.0-alpha.2

OpenTelemetry

  • Enabling SetErrorStatusOnException on TracerProvider will now set the Status property on Activity to ActivityStatusCode.Error in case of an error. This will be done in addition to current behavior of setting otel.status_code tag on activity. (#​4336)

  • Add support for configuring the Base2 Exponential Bucket Histogram Aggregation using the AddView API. This aggregation is supported by OTLP but not yet by Prometheus. (#​4337)

  • Implementation of SuppressInstrumentationScope changed to improve performance. (#​4304)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

  • Fixed issue where the MetricSnapshot of a histogram did not capture the min and max values. (#​4306)

OpenTelemetry.Exporter.Jaeger

  • Enabled performance optimizations for .NET 6.0+ runtimes. (#​4349)

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

1.5.0-alpha.1

OpenTelemetry

  • Added Exemplar support. See exemplars for instructions to enable exemplars.

  • Added AddDetector factory overload on ResourceBuilder. (#​4261)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Bumped the version of Google.Protobuf used by the project to 3.22.0 so
    that a new performance feature can be used instead of reflection. Removed the
    dependency on System.Reflection.Emit.Lightweight.
    (#​4201)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

1.4.0

1.4.0

This is the stable release encompassing work from 1.4.0-alpha.1 to 1.4.0-rc.4

OpenTelemetry

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • AddOtlpExporter extension methods will now always create a new options instance when named options are NOT used. (#​4200)

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.Hosting

  • Removed deprecated extensions: AddOpenTelemetryTracing, AddOpenTelemetryMetrics, Configure, & GetServices. (#​4071)

OpenTelemetry.Extensions.Propagators

1.0.0-rc9.14

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

1.4.0-rc.4

OpenTelemetry

  • Removed the dependency on System.Reflection.Emit.Lightweight (#​4140)

  • Moved the AddOpenTelemetry extension into the OpenTelemetry.Extensions.Hosting package so that the StartWithHost API
    could be removed. (#​4174)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Added a direct dependency on System.Reflection.Emit.Lightweight which previously came transitively through the OpenTelemetry SDK. (#​4140)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

  • Added AddOpenTelemetry extension from SDK and removed StartWithHost. AddOpenTelemetry now registers the IHostedService used to start collecting traces and/or metrics. (#​4174)

OpenTelemetry.Extensions.Propagators

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

1.4.0-rc.3

OpenTelemetry

  • Removed the dependency on Microsoft.Extensions.Configuration.EnvironmentVariables (#​4092)

  • Removed the explicit reference to Microsoft.Extensions.Options version 5.0 and reverted back to the transitive reference of version 3.1 (#​4093)

  • Added SetSampler, AddProcessor, & AddReader factory extensions. (#​4103)

OpenTelemetry.Api

OpenTelemetry.Api.ProviderBuilderExtensions

  • Removed ConfigureBuilder from the public API. (#​4103)

  • Renamed package from OpenTelemetry.Extensions.DependencyInjection to OpenTelemetry.Api.ProviderBuilderExtensions. (#​4125)

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

  • Changed EnvironmentVariable parsing to not throw a FormatException and instead log a warning. (#​4095)

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Extensions.Propagators

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

... (truncated)

1.4.0-rc.2

1.4.0-rc.2

OpenTelemetry

  • Performance Improvement: Update the internal structure used to store metric dimensions from a combination of string[] and object[] to a KeyValuePair<string, object>[]. This results in faster copying of the metric dimensions required for MetricPoint lookup on the hot path (#​4059)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • For AddOtlpExporter extension methods, configuration delegates will be executed inline and not through Options API when named options are NOT used. (#​4058)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.DependencyInjection

OpenTelemetry.Extensions.Hosting

  • If the OpenTelemetry SDK cannot start it will now throw exceptions and prevent the host from starting. (#​4006)

1.0.0-rc9.11

OpenTelemetry.Extensions.Propagators

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Shims.OpenTracing

1.4.0-rc.1

1.4.0-rc.1

OpenTelemetry

  • Added dependency injection support in the ResourceBuilder class and added
    support for loading environment variables from IConfiguration for the
    AddEnvironmentVariableDetector extension (Logs)
    (#​3889)

  • Refactored AddInstrumentation, ConfigureServices and ConfigureBuilder
    APIs into the OpenTelemetry.Extensions.DependencyInjection package and added
    the IServiceCollection.AddOpenTelemetry API
    (#​3923)

  • Removed ConfigureResource on OpenTelemetryLoggingOptions
    (#​3999)

OpenTelemetry.Api

  • Updated to System.Diagnostics.DiagnosticSource version 7.0.0.

OpenTelemetry.Exporter.Console

  • Bug fix to prevent ConsoleExporter from failing when exporting an
    ActivityLink without Tags.
    (#​3932)

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Fix default values for OTEL_ATTRIBUTE_COUNT_LIMIT,
    OTEL_ATTRIBUTE_COUNT_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_LIMIT. All of them are defaulted to 128.
    (#​3978)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus.AspNetCore

OpenTelemetry.Exporter.Prometheus.HttpListener

OpenTelemetry.Exporter.Zipkin

OpenTelemetry.Extensions.DependencyInjection
... (truncated)

1.4.0-beta.3

1.4.0-beta.3

OpenTelemetry

  • Fix instrument naming enforcement implementation to match the spec.
    (#​3821)

  • Added support for loading environment variables from IConfiguration when
    using the MetricReaderOptions & BatchExportActivityProcessorOptions
    classes.
    (#​3760,
    #​3776)

  • Added dependency injection support in the ResourceBuilder class and added
    support for loading environment variables from IConfiguration for the
    AddEnvironmentVariableDetector extension
    (#​3782,
    #​3798)

  • Breaking: MetricPoint API to retrieve Histogram Min, Max changed. The existing
    pattern of checking if Min/Max is available with HasMinMax() and then
    retrieving the same using GetHistogramMin(), GetHistogramMax() is replaced
    with a single API TryGetHistogramMinMaxValues(out double min, out double max).
    (#​3822)

OpenTelemetry.Api

  • Updated to System.Diagnostics.DiagnosticSource version 7.0.0-rc.2.22472.3.

OpenTelemetry.Exporter.Console

LogRecordExporter to print full exception details instead of just Message, when
using ILogger to log exception.
(#​3784)

Added support to print Histogram Min, Max in MetricExporter.

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

... (truncated)

1.4.0-beta.2

1.4.0-beta.2

OpenTelemetry

  • Make recording of Min and Max for histograms configurable, enabled by
    default.
    (#​2735)

  • Changed default bucket boundaries for Explicit Bucket Histogram from [0, 5,
    10, 25, 50, 75, 100, 250, 500, 1000] to [0, 5, 10, 25, 50, 75, 100, 250, 500,
    750, 1000, 2500, 5000, 7500, 10000].
    (#​3722)

  • Fixed an issue where LogRecord.ForEachScope may return scopes from a
    previous lo...

Description has been truncated

Bumps OpenTelemetry.Instrumentation.AspNetCore from 1.0.0-rc9.4 to 1.8.1

---
updated-dependencies:
- dependency-name: OpenTelemetry.Instrumentation.AspNetCore
  dependency-version: 1.8.1
  dependency-type: direct:production
  dependency-group: nuget
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant