NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #93 most downloaded on NuGet
OpenTelemetry .NET SDK
Last release 17 days ago
21 Sep 2026
Release timing varies
gaps range from 8 days to 5 months
Nearly every release is documented
notes for 26 of 28 stable releases
4 versions withdrawn
withdrawn after publishing
127 years old
50 releases · first in 1900
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.19.1
NotSupportedException thrown when building a TracerProvider or
MeterProvider with a large number of wildcard source/meter patterns on
net8.0, and a related OutOfMemoryException that could occur when many
such providers were built over the lifetime of a process.One column per quarter.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.19.0
Resource instances.AlwaysRecordSampler.AddOpenTelemetry extension method for IHostApplicationBuilder. It
registers the OpenTelemetry SDK services and additionally seeds service.name
from IHostEnvironment.ApplicationName and deployment.environment.name from
IHostEnvironment.EnvironmentName as low-priority resource defaults. It also
registers the host's live configuration into DI so that extensions receiving
only IServiceCollection can contribute configuration sources during setup.IEnumerable<KeyValuePair<string, string?>> and IDictionary). These
attributes will be serialized as JSON objects or kvlist, as appropriate.OTEL_EXPORTER_OTLP_CERTIFICATE) for
PEM-encoded certificates that only contain a public key.CircularBufferBuckets so the first delta histogram insertion after a
reset does not result in an unnecessary scale reduction.tracestate header whose member value trimmed to
an empty value that previously threw an IndexOutOfRangeException internally
and could silently truncate the tracestate.params overload.SpanAttributes from an array.For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.18.0
OtlpExporterOptions.MaxRequestSizeBytes property
to increase the capacity.OtlpExporterOptions.MaxRequestSizeBytes to configure the maximum OTLP
request size limit, as required by the OpenTelemetry specification. The default
is the recommended 64 MiB. A batch whose serialized payload exceeds the limit
is not sent and is dropped in its entirety. The maximum supported value is
256 MiB.OtlpExporterOptions.MaxResponseSizeBytes to configure the maximum size
of a response the exporter will accept, as required by the OpenTelemetry
specification. The default is the recommended 4 MiB. A response exceeding the
limit is discarded and treated as a non-retryable failure.otel.sdk.processor.log.processed and otel.sdk.processor.span.processed
SDK self-observability metrics.ITelemetryHostInitializer interface for applications that do not
support hosted services, such as Blazor, to use to manually initialize the
OpenTelemetry SDK as part of application startup.BatchActivityExportProcessor and SimpleActivityExportProcessor no longer
forward spans to the exporter once Shutdown has been called, and
BatchActivityExportProcessor.Shutdown now waits for in-flight OnEnd calls
to finish enqueueing before flushing.RecordException is called on a span that is not recorded.UseOtlpExporter to respect options configured with
services.Configure<OtlpExporterOptions>(...).RetryInfo.retry_delay) to
a minimum value of 100 milliseconds.HttpCompletionOption.ResponseHeadersRead
for the .NET Framework and .NET Standard targets.uber-trace-id header when targeting
net462 or netstandard2.0.For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.17.0
ExcludedTagKeys property to MetricStreamConfiguration to support
excluding specific tag keys from metric streams.tracestate key validation to comply with the W3C Trace Context
Level 2 grammar.TraceContextPropagator to normalize empty tracestate header values
to null when extracting trace context.OtlpLogExporter so OtlpExporterOptions.ExportProcessorType and
OtlpExporterOptions.BatchExportProcessorOptions are respected when
LogRecordExportProcessorOptions are not configured.For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.16.0
BaggagePropagator to correctly follow Key and Value Encoding rules.TraceContextPropagator to deduplicate duplicate tracestate keys.ObservedTimestamp will now be exported for logs in the console exporter.NullReferenceException when exporting OTLP logs if the scope key is
null.OtlpLogExporter integration with IHttpClientFactory.IHttpClientFactory when mTLS is
enabled.Retry-After response headers that specify a date instead of a delay.observed_time_unix_nano will no longer always be identical to time_unix_nano
when using the logs bridge API.Name against the instrument name
syntax.OTEL_BSP_* and OTEL_BLRP_* environment variables.ExemplarReservoir implementations.LoggerProvider to fail to
resolve when one of its dependencies depends on ILogger or ILoggerFactory.For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.3/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.3/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.3/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.15.3
tracestate parsing to reject keys that do not
begin with a lowercase letter, including keys beginning with digits, to
align with the W3C Trace Context specification.OTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_DIRECTORY_PATH
when OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=disk is configured.OtlpLogExporter now uses IHttpClientFactory on .NET 8+.OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT not being applied.BaggagePropagator to trim optional whitespace (OWS) around =
separators when parsing the baggage header.BaggagePropagator to strip baggage properties from values when
parsing the baggage header.LogRecord.LogLevel to preserve LogLevel.None.OTEL_TRACES_SAMPLER_ARG handling for out-of-range values.Released 2026-Apr-21
Fix resource leak in batch and periodic exporting task workers for Blazor/WASM. (#7069)
Fixed LogRecord.LogLevel to preserve LogLevel.None and handle
unspecified or out-of-range severities without returning invalid enum values.
(#7092)
Fixed OTEL_TRACES_SAMPLER_ARG handling to treat out-of-range, NaN, and
infinite values as invalid and fall back to the default ratio when using
traceidratio and parentbased_traceidratio samplers.
(#7103)
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.2/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.2/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.2/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.15.2
BatchExportProcessor and
PeriodicExportingMetricReader to enable the OpenTelemetry SDK to work
in single-threaded WebAssembly environments such as Blazor and
Uno Platform.Released 2026-Apr-08
BatchExportProcessor and
PeriodicExportingMetricReader to enable OpenTelemetry to work in
single-threaded WebAssembly environments such as Blazor and Uno Platform.
The implementation automatically detects the WebAssembly runtime and switches
to Task-based workers accordingly; the Thread-based approach remains the
default on all other platforms.
(#6379)For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.1/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.1/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.1/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.15.1
OpenTelemetry.Api and OpenTelemetry SDK,
including fixes for thread-safety, sampler edge cases, metrics precision,
and observable instrument lifecycle handling.Released 2026-Mar-27
Fixed Tracer.StartSpan() leaving the new span as Activity.Current when
the previous activity was stopped by another thread during span creation.
(#6257)
Fixed OverflowException in TraceIdRatioBasedSampler when trace ID bytes
produced long.MinValue.
(#6928)
Fixed precision issues when using Histogram<float> with custom
HistogramBucketBoundaries.
(#6866)
Fixed a thread-safety issue in LogRecordSharedPool.Rent().
(#6833)
Fixed observable instruments (ObservableCounter, ObservableUpDownCounter, ObservableGauge) continuing to export stale data points after a callback stops reporting a series. (#5950)
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.15.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.15.0
ActivitySource.TelemetrySchemaUrl
and Meter.TelemetrySchemaUrl properties across exporters.OpenTelemetry.Exporter.Zipkin is deprecated and will stop receiving updates
in December 2026. Zipkin already supports OTLP ingestion.
Migrate to OpenTelemetry.Exporter.OpenTelemetryProtocol as stated
in the Deprecating Zipkin Exporter blog post.Released 2026-Jan-21
Added support for the OTEL_SDK_DISABLED environment variable in TracerProvider,
MeterProvider, and LoggerProvider. When OTEL_SDK_DISABLED=true,
the SDK returns no-op implementations for all telemetry signals.
The OTEL_SDK_DISABLED environment variable is only evaluated upon application
startup, later changes have no effect.
(#6568)
Added LowMemory temporality as an option in the OTLP metrics exporter.
(#6648)
Added support for Meter.TelemetrySchemaUrl property.
(#6714)
Improve performance and reduce memory consumption for metrics histograms. (#6715)
Decode value in OTEL_RESOURCE_ATTRIBUTES environment variable.
(#6737)
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.14.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.14.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.14.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.14.0
net8.0, the package now depends on version
8.0.0 of the Microsoft.Extensions.DependencyInjection.Abstractions,
Microsoft.Extensions.Diagnostics.Abstractions,
Microsoft.Extensions.Hosting.Abstractions and
Microsoft.Extensions.Logging.Configuration NuGet packages.System.Diagnostics.DiagnosticSource dependency to 10.0.0
for all target frameworks.Microsoft.Extensions.* dependencies to 10.0.0
for .NET Framework and .NET Standard..sigstore.json) for digital signatures instead of separate signature
(.sig) and certificate (.pem) files. This requires cosign 3.0 or later
for verification. See the Digital signing
section for updated verification instructions.Released 2025-Nov-12
Breaking Change NuGet packages now use the Sigstore bundle format
(.sigstore.json) for digital signatures instead of separate signature
(.sig) and certificate (.pem) files. This requires cosign 3.0 or later
for verification. See the Digital signing
section for updated verification instructions.
(#6623)
Update to stable versions for .NET 10.0 NuGet packages. (#6667)
Update Microsoft.Extensions.* dependencies to 10.0.0 for .NET Framework
and .NET Standard.
(#6667)
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.13.1/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.13.1/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.13.1/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.13.1
1.13.0, the digital signature (.dll-keyless.sig) and
certificate (.dll-keyless.pem) files were unintentionally omitted from the
published NuGet packages.net462, netstandard2.0, netstandard2.1, net8.0, net9.0), ensuring
the integrity of DLL verification using Sigstore cosign.Released 2025-Oct-09
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.13.0/RELEASENOTES.md.
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.13.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.13.0/src/OpenTelemetry/CHANGELOG.md.
Release details: 1.13.0
OtlpExportProtocol.Grpc
now set the TE=trailers HTTP request header to improve interoperability.EventName is now exported by default as EventName instead of
logrecord.event.name when specified through ILogger or the experimental
log bridge API.Released 2025-Oct-01
Added a verification to ensure that a MetricReader can only be registered
to a single MeterProvider, as required by the OpenTelemetry specification.
(#6458)
Added FormatMessage configuration option to self-diagnostics feature. When
set to true (default is false), log messages will be formatted by replacing
placeholders with actual parameter values for improved readability.
Example OTEL_DIAGNOSTICS.json:
{
"LogDirectory": ".",
"FileSize": 32768,
"LogLevel": "Warning",
"FormatMessage": true
}
Fixed parsing of OTEL_TRACES_SAMPLER_ARG decimal values to always use .
as the delimiter when using the traceidratio sampler, preventing
locale-specific parsing issues.
(#6444)
Breaking Change: OpenTelemetry.Exporter.OpenTelemetryProtocol now defaults to using OTLP/HTTP instead of OTLP/gRPC when targeting .NET Framework and .…
Release details: 1.12.0
OpenTelemetry.Exporter.OpenTelemetryProtocol now
defaults to using OTLP/HTTP instead of OTLP/gRPC when targeting .NET Framework
and .NET Standard. This change may cause telemetry export to fail unless
appropriate adjustments are made. Explicitly setting OTLP/gRPC may result in a
NotSupportedException unless further configuration is applied. See
#6209 for
full details and mitigation guidance. #6229Released 2025-Mar-04
Released 2025-Mar-04
Fixed a bug preventing OpenTelemetry.Exporter.OpenTelemetryProtocol from exporting telemetry on .NET Framework.
Release details: 1.11.1
OpenTelemetry.Exporter.OpenTelemetryProtocol from
exporting telemetry on .NET Framework.OpenTelemetry.Exporter.OpenTelemetryProtocol no longer depends on the Google.Protobuf, Grpc, or Grpc.Net.Client packages. Serialization and transmissi
Release details: 1.11.0
OpenTelemetry.Exporter.OpenTelemetryProtocol no longer depends on the
Google.Protobuf, Grpc, or Grpc.Net.Client packages. Serialization and
transmission of outgoing data is now performed manually to improve the overall
performance.Released 2025-Jan-15
Meter.Tags will now be considered when resolving the SDK metric to update when measurements are recorded. Meters with the same name and different tags will now lead to unique metrics. (#5982)
Fixed a bug in tracing where TraceState set by a custom Sampler is not
applied when creating propagation-only spans.
(#6058)
Bumped the package versions of System.Diagnostic.DiagnosticSource and other Microsoft.Extensions.* packages to 9.0.0.
Release details: 1.10.0
Bumped the package versions of System.Diagnostic.DiagnosticSource and other
Microsoft.Extensions.* packages to 9.0.0.
Added support for new APIs introduced in System.Diagnostics.DiagnosticSource
9.0.0:
For details see: Explicit bucket histogram aggregation.
ActivitySource.Tags (supported in OtlpExporter & ConsoleExporter)
Experimental features promoted to stable:
CardinalityLimit can now be managed for individual metrics via the View
API. For details see: Changing cardinality limit for a
Metric.
The overflow
attribute
(otel.metric.overflow) behavior is now enabled by default. The
OTEL_DOTNET_EXPERIMENTAL_METRICS_EMIT_OVERFLOW_ATTRIBUTE environment
variable is no longer required. For details see: Cardinality
Limits.
The MetricPoint reclaim behavior is now enabled by default when Delta
aggregation temporality is used. The
OTEL_DOTNET_EXPERIMENTAL_METRICS_RECLAIM_UNUSED_METRIC_POINTS environment
variable is no longer required. For details see: Cardinality
Limits.
Added OpenTelemetrySdk.Create API for configuring OpenTelemetry .NET signals
(logging, tracing, and metrics) via a single builder. This new API simplifies
bootstrap and teardown, and supports cross-cutting extensions targeting
IOpenTelemetryBuilder.
Removed out of support net6.0 target and added net9.0 target.
Released 2024-Nov-12
Promoted the MetricPoint reclaim feature for Delta aggregation temporality from experimental to stable. (#5956)
Previous Behavior:
The SDK maintained a fixed set of MetricPoints which were assigned on a
first-come basis based on the tags. MetricPoint reclaim was an experimental
feature users could opt-into setting the environment variable
OTEL_DOTNET_EXPERIMENTAL_METRICS_RECLAIM_UNUSED_METRIC_POINTS=true.
New Behavior: MetricPoint reclaim is now enabled by default when Delta aggregation temporality is used without the need to set an environment variable. Unused MetricPoints will automatically be reclaimed and reused for future measurements. There is NO ability to revert to the old behavior.
Updated the Microsoft.Extensions.Logging.Configuration and
Microsoft.Extensions.Diagnostics.Abstractions package versions to
9.0.0.
(#5967)
Exemplars are now part of the stable API! For details see: customizing exemplars collection.
Release details: 1.9.0
Exemplars are now part of the stable API! For details see: customizing
exemplars
collection.
WithLogging is now part of the stable API! Logging, Metrics, and Tracing can
now all be configured using the With style and the builders finally have
parity in their APIs.
Fixed an issue in Logging where unwanted objects (processors, exporters, etc.) could be created inside delegates automatically executed by the Options
Released 2024-Apr-17
TracerProvider sampler can now be configured via the OTEL_TRACES_SAMPLER & OTEL_TRACES_SAMPLER_ARG envvars.
Release details: 1.8.0
TracerProvider sampler can now be configured via the OTEL_TRACES_SAMPLER &
OTEL_TRACES_SAMPLER_ARG envvars.
A new UseOtlpExporter cross-cutting extension has been added to register the
OtlpExporter and enable all signals in a single call.
exception.type, exception.message, exception.stacktrace will now
automatically be included by the OtlpLogExporter when logging exceptions.
Previously an experimental environment variable had to be set.
Bumped the package versions of System.Diagnostic.DiagnosticSource and other Microsoft.Extensions.* packages to 8.0.0.
Release details: 1.7.0
Bumped the package versions of System.Diagnostic.DiagnosticSource and other
Microsoft.Extensions.* packages to 8.0.0.
Added net8.0 targets to all the components.
OTLP Exporter
ILogger CategoryName as the instrumentation scope for
logs.Added support for the IMetricsBuilder API.
Added an experimental opt-in metrics feature to reclaim unused MetricPoints which enables a higher number of unique dimension combinations to be emitted. See reclaim unused metric points for more details.
Increased the character limit of the Meter instrument name from 63 to 255.
Released 2023-Sep-05
Increased the character limit of the Meter instrument name from 63 to 255. (#4798)
Update default size for SimpleExemplarReservoir to 1.
(#4803)
Update Metrics SDK to override the default histogram buckets for a set of
well-known histogram metrics from ASP.NET Core and HttpClient runtime. These
histogram metrics which have their Unit as s (second) will have their
default histogram buckets as [ 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 ].
(#4820)
Fixed a breaking change causing LogRecord.State to be null where it was previously set to a valid value when OpenTelemetryLoggerOptions.ParseStateValu…
Released 2023-Jun-26
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)
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.
Released 2023-Jun-05
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)
Released 2023-Feb-24
Released 2023-Feb-24
Nothing published for this version
Nothing published for this version
Released 2022-Jun-03
Released 2022-Jun-03
Make setter for MetricReaderOptions.PeriodicExportingMetricReaderOptions property public.
Released 2022-Apr-15
MetricReaderOptions.PeriodicExportingMetricReaderOptions
property public.
(#3184)Removed the Temporality setting on MetricReader and replaced it with TemporalityPreference. This is a breaking change. TemporalityPreference is used t…
Released 2022-Apr-12
Temporality setting on MetricReader and replaced it with
TemporalityPreference. This is a breaking change. TemporalityPreference is
used to determine the AggregationTemporality used on a per-instrument kind
basis. Currently, there are two preferences:
Cumulative: Measurements from all instrument kinds are aggregated using
AggregationTemporality.Cumulative.Delta: Measurements from Counter, ObservableCounter, and Histogram
instruments are aggregated using AggregationTemporality.Delta. When
UpDownCounters are supported with DiagnosticSource version 7.0
onwards,
they will be aggregated using AggregationTemporality.Cumulative.
(#3153)ExplicitBucketHistogramConfiguration could be used to
configure metric streams for instruments that are not histograms. Currently,
it is not possible to change the aggregation of an instrument with views. This
may be possible in the future.
(#3126)The PeriodicExportingMetricReader now accepts an ExportIntervalMilliseconds of -1 indicating an infinite export interval period.
Released 2022-Mar-30
PeriodicExportingMetricReader now accepts an
ExportIntervalMilliseconds of -1 indicating an infinite export interval
period.
(#2982)PeriodicExportingMetricReaderOptions.ExportTimeoutMilliseconds
option.
(#3038)MetricReaderType. This enumeration was previously used when
configuring a metric reader with an exporter to configure whether the export
cycle would be periodic or manual (i.e., requiring a explicit call to flush
metrics). This change affects the push-based metric exporters: OTLP, Console,
and InMemory. For these exporters, a manual export cycle can now be achieved
by setting PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds
to -1.
(#3038)MetricPoint struct which do not mutate state as
readonly
(#3065)Instantiating multiple metric instruments with the same name and also identical in all other respects - same type, description, and unit - result in a
Released 2022-Mar-04
Meter property on OpenTelemetry.Metrics.Metric has been removed. It
now has MeterName and MeterVersion properties.
(#2916)ResourceDetector.
(#2949
#2897)Make MetricPoint of MetricPointAccessor readonly.
Released 2022-Feb-02
MetricPoint of MetricPointAccessor readonly.
(#2736)ObjectDisposedException from the BatchExportProcessor worker
thread.
(#2844)Prevent accessing activity Id before sampler runs in case of legacy activities.
Released 2021-Nov-29
ReadOnlyTagCollection and expose Tags on MetricPoint instead of
Keys+Values
(#2642)MetricPoint and added public methods: GetBucketCounts,
GetExplicitBounds, GetHistogramCount, and GetHistogramSum
(#2657)HistogramMeasurements and added a public method
GetHistogramBuckets instead. Renamed the class HistogramMeasurements to
HistogramBuckets and added an enumerator of type HistogramBucket for
enumerating BucketCounts and ExplicitBounds. Removed GetBucketCounts and
GetExplicitBounds methods from MetricPoint.
(#2664)LongValue, DoubleValue, in favor of their
counterpart public methods GetSumLong, GetSumDouble,
GetGaugeLastValueLong, GetGaugeLastValueDouble.
(#2667)Exception from Observable instrument callbacks does not result in entire metrics being lost.
Released 2021-Oct-08
BatchExportProcessor.OnShutdown will now log the count of dropped telemetry items.
Metrics perf improvements, bug fixes. Replace MetricProcessor with MetricReader.
Released 2021-Sep-13
BatchExportActivityProcessorOptions which supports field value
overriding using OTEL_BSP_SCHEDULE_DELAY, OTEL_BSP_EXPORT_TIMEOUT,
OTEL_BSP_MAX_QUEUE_SIZE, OTEL_BSP_MAX_EXPORT_BATCH_SIZE environmental
variables as defined in the
specification.
(#2219)More Metrics features. All instrument types, push/pull exporters, Delta/Cumulative temporality supported.
Released 2021-Aug-24
ResourceBuilder.CreateDefault has detectors for OTEL_RESOURCE_ATTRIBUTES,
OTEL_SERVICE_NAME environment variables so that explicit
AddEnvironmentVariableDetector call is not needed.
(#2247)ResourceBuilder.AddEnvironmentVariableDetector handles OTEL_SERVICE_NAME
environmental variable.
(#2209)Add basic Metrics support with a single pipeline, and supporting Counter (sync) instrument. Push and Pull exporters are supported.
Released 2021-Jul-12
Released 2021-Jul-12
Moved IDeferredTracerProviderBuilder to API library.
Released 2021-Jun-25
IDeferredTracerProviderBuilder to API library.
(#2058)Released 2021-Jun-09
Released 2021-Jun-09
AddLegacySource() moved out of TracerProviderBuilderExtensions and into public API
Released 2021-May-11
AddLegacySource() moved out of TracerProviderBuilderExtensions and into
public API
(#2019)BatchLogRecordExportProcessor. To make parsing scopes easier the
LogRecord.ForEachScope signature has been changed to receive instances of
LogRecordScope (a new type which implements
IEnumerator<KeyValuePair<string, object>> for accessing scope items)
(#2026)Use AssemblyFileVersionAttribute instead of FileVersionInfo.GetVersionInfo to get the SDK version attribute to ensure that it works when the assembly
Released 2021-Apr-23
AssemblyFileVersionAttribute instead of FileVersionInfo.GetVersionInfo
to get the SDK version attribute to ensure that it works when the assembly is
not loaded directly from a file on disk
(#1908)Removed SuppressScope Increment/Decrement from DiagnosticSourceListeners. (1893)
Released 2021-Mar-19
TracerProviderBuilder.SetErrorStatusOnException which automatically
sets the activity status to Error when exception happened.
(#1858
#1875)ForceFlush to TracerProvider.
(#1837)AddLegacySource which
is used by instrumentation libraries that use DiagnosticSource to get
activities processed without ActivitySourceAdapter.
#1836
#1860ParentBasedSampler behavior.
(#1727)ParentBasedSampler will no longer explicitly consider Activity links.
(#1851)IncludeScopes, IncludeFormattedMessage, & ParseStateValues on
OpenTelemetryLoggerOptions. Added FormattedMessage, StateValues, &
ForEachScope on LogRecord.
(#1869
#1883)SetResourceBuilder support to OpenTelemetryLoggerOptions.
(#1913)IDeferredTracerProviderBuilder and TracerProviderBuilderBase to
support dependency injection through OpenTelemetry.Extensions.Hosting.
(#1889)Released 2021-Feb-10
Released 2021-Feb-10
Nothing published for this version
Released 2021-Feb-09
Released 2021-Feb-09
Default Resource will now contain service.name instead of Telemetry SDK.
The following extension methods on ResourceBuilder has been moved from the OpenTelemetry namespace to the OpenTelemetry.Resources namespace: AddEnviro
Released 2021-Jan-29
ResourceBuilder has been moved from the
OpenTelemetry namespace to the OpenTelemetry.Resources namespace:
AddEnvironmentVariableDetector, AddAttributes, AddService, and
AddTelemetrySdk.
(#1576)Obsolete
attribute. See
#1501
for more information.
(#1611)ActivitySourceAdapter class for root activity if trace ID is
overridden by calling SetParentId
(#1355)BatchExportProcessor will now flush any remaining spans left in a Batch
after the export operation has completed.
(#1726)Your coding agent can read these notes before it upgrades. Set up the MCP server →