Repository navigation
Releases: open-telemetry/opentelemetry-dotnet
Release list
core-1.21.0-rc.1
The following changes are from the previous release 1.20.1.
-
NuGet: OpenTelemetry v1.21.0-rc.1
-
Fixed a race in the self-diagnostics sink dispatcher where disposing it
while its pump thread was exiting could throwArgumentNullExceptionon
.NET Framework.
(#7983) -
SelfDiagnosticsOptionsis now automatically bound from the
OpenTelemetry:SelfDiagnosticsconfiguration section, when present.
(#8008) -
Fixed a race where collecting a metric with delta temporality concurrently
with the creation of a newMetricPointcould reclaim theMetricPoint
while it was being created, losing the measurement.
(#8019) -
Fixed a race where collecting a metric with delta temporality could export
the same series twice in a single collection.
(#8019) -
Fixed wildcard matching timeouts that could prevent configured source, meter,
legacy activity, or metric view patterns from matching.
(#8014) -
The timeout passed to
MetricReader.Collect()(for example by
MeterProvider.ForceFlush()), theExportTimeoutMillisecondsof
PeriodicExportingMetricReaderand theExporterTimeoutMillisecondsof
BatchExportProcessor<T>are now made available to the exporter instead of
being ignored once the export has started, so that the OTLP exporter can
cancel an export which runs past the timeout. TheExportTimeoutMilliseconds
ofPeriodicExportingMetricReadernow also limits exports which are not
started by the reader itself, such as those ofMeterProvider.ForceFlush().
(#7996) -
Fixed a race where collecting a cumulative metric concurrently with the
creation of a newMetricPointcould export aMetricPointthat was not yet
fully initialized, could case aNullReferenceExceptionwhen enumeratingTags.
(#8018) -
Breaking Change Dropped support for
net8.0andnet9.0.
(#6899) -
Add support for .NET 11.0.
(#6899) -
Added support for enabling
ActivitySources from configuration using the
Microsoft.Extensions.Diagnosticstracing APIs introduced in .NET 11 (for
example,services.AddTracing(b => b.AddConfiguration(section))).
Activities from sources enabled this way are processed by the OpenTelemetry
TracerProviderregistered throughAddOpenTelemetry().WithTracing().
Not supported when targetingnet10.0.
(#6899)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api v1.21.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.21.0-rc.1
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.21.0-rc.1
-
Fixed
byte[]-valued tags being serialized as a JSON array of numbers
(e.g.[1,2,3]) instead of being Base64-encoded as per the specification.
(#7694) -
Fixed array-valued tags containing
NaNor infinite floating-point values
being exported asTRUNCATED; such values are now written as JSON strings
(e.g.["NaN"]). Arrays and maps nested inside array-valued tags are now
written as nested JSON (withbyte[]values Base64-encoded) instead of as
their .NET type name (e.g.System.Int32[]).
(#7694) -
Fixed arrays of string-valued key/value pairs being
serialized as JSON arrays of strings instead of JSON objects.
(#7694)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.InMemory v1.21.0-rc.1
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.21.0-rc.1
-
Fixed experimental in-memory retries exceeding the export timeout when a
retried request stalls.
(#7977) -
Breaking: The span status description (
Activity.StatusDescriptionor
theotel.status_descriptiontag) is now truncated to the configured span
attribute value length limit (for example
OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT) instead of being exported in full.
(#7995) -
Redacted nonstandard OTLP endpoint paths in internal diagnostic logs with
[REDACTED], while retaining standard HTTP and gRPC service paths.
(#8016) -
Fixed exports continuing until
OtlpExporterOptions.TimeoutMilliseconds
elapsed when a shorter timeout applied to them, such as the timeout passed
toMeterProvider.ForceFlush(),
PeriodicExportingMetricReaderOptions.ExportTimeoutMilliseconds
(OTEL_METRIC_EXPORT_TIMEOUT) or
BatchExportProcessorOptions<T>.ExporterTimeoutMilliseconds
(OTEL_BSP_EXPORT_TIMEOUT,OTEL_BLRP_EXPORT_TIMEOUT). The request is now
canceled when the shorter of the timeouts elapses. The time taken to
serialize the telemetry now counts towards the timeout, and no request is
sent once it has elapsed.
(#7996) -
Fixed arrays of string-valued key/value pairs being
exported as arrays of strings instead of maps.
(#7694) -
Breaking Change Dropped support for
net8.0andnet9.0.
(#6899) -
Add support for .NET 11.0.
(#6899)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.Zipkin v1.21.0-rc.1
-
Fixed array-valued tags containing
NaNor infinite floating-point values
being exported asTRUNCATED; such values are now written as JSON strings
(e.g.["NaN"]). Arrays and maps nested inside array-valued tags are now
written as nested JSON (withbyte[]values Base64-encoded) instead of as
their .NET type name (e.g.System.Int32[]).
(#7694) -
Fixed arrays of string-valued key/value pairs being
serialized as JSON arrays of strings instead of JSON objects.
(#7694)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Extensions.Hosting v1.21.0-rc.1
-
The OpenTelemetry providers are now initialized in
IHostedLifecycleService.StartingAsyncinstead ofIHostedService.StartAsync
so that telemetry emitted by other hosted services duringStartingAsyncis
captured.ITelemetryHostInitializer.Initialize()is invoked only once per
host start.
(#7998) -
Breaking Change Dropped support for
net8.0andnet9.0.
(#6899)...
-
core-1.20.1
For highlights and announcements pertaining to this release see: Release Notes > 1.20.1.
The following changes are from the previous release 1.20.0.
-
NuGet: OpenTelemetry v1.20.1
-
Fixed a possible race condition on ARM64 when multiple threads record the
first measurement with no tags, or the first overflow measurement, that could
cause the measurement to be recorded incorrectly.
(#7951) -
Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
and prefixed JWTs.
(#7955) -
Fixed default HTTP client log filtering when registering the OTLP log exporter
throughOpenTelemetryLoggerOptions.
(#7959) -
Fixed legacy self-diagnostics logging terminating the process when the log
file is truncated or the log volume runs out of space.
(#7956) -
Experimental (pre-release builds only): Fixed
Logger.EmitLogignoring
instrumentation suppression, which could cause recursive exports or deadlocks.
(#7961) -
Fixed delta double counters losing subsequent measurements after a non-finite
or large value and idle metric points with aNaNvalue failing to be reclaimed.
(#7963) -
Improve the assignment of values to exponential histogram buckets when the
value is near a bucket boundary by using a pre-computed lookup table.
(#7911) -
Fixed
LogRecords being returned to the shared pool while still queued for
export when an exporter stops enumerating a single-item or array
Batch<LogRecord>early which could cause aBatchLogRecordExportProcessor
on the same provider to export missing or incorrect data.
(#7965) -
Fixed a
SuppressInstrumentationScope.Enter()reference count never being
released when theActivityit was entered for is not recorded, which caused
all subsequent telemetry in that execution context to be suppressed.
(#7966) -
Self-diagnostics log files, whether configured through
OTEL_DIAGNOSTICS.json
orSelfDiagnosticsOptions, are now always created as new files.
(#7968) -
Self-diagnostics messages written to the sinks configured by
SelfDiagnosticsOptionsare now truncated to 16,384 characters so that the
memory used by entries waiting to be written is bounded.
(#7969) -
The self-diagnostics file sink now creates its log directory and log files
so that only the owner can access them (0700/0600) on Linux and macOS,
instead of inheriting the process umask.
(#7967) -
Fixed pooled log records retaining completed log data until reused.
(#7978) -
Fixed slow metric recording when distinct wide tag values, such as
longor
Guid, share the same built-in hash code.
(#7979) -
Fixed
ObservableCounterandObservableUpDownCounteroverflow points
reporting only the last observation instead of the sum for each collection.
(#7985) -
Fixed replaced log attributes being exported together with their original
values when buffering or updatingLogRecord.State.
(#7987)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api v1.20.1
- Fixed
TracerProvider.GetTracercaching a new tracer for each call with equal
array-valued scope tags.
(#7960)
See CHANGELOG for details.
- Fixed
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.20.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.20.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.InMemory v1.20.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.20.1
-
Fixed informational HTTP client logs not being suppressed by default when the
OTLP log exporter is registered usingOpenTelemetryLoggerOptions.AddOtlpExporter.
(#7959) -
Breaking:
HttpClientinstances created by the exporter directly no
longer follow HTTP redirects. A3xxresponse is now treated as a failed
export. See Configure HttpClient
to preventHttpClientcreated byIHttpClientFactoryfrom following
redirects.
(#7958) -
The value of
OTEL_EXPORTER_OTLP_ENDPOINT, or of its signal-specific
variants, is no longer written to the exporter's diagnostic log when it is
not a valid URI.
(#7971) -
Hardened the experimental disk retry feature.
- When running on .NET on non-Windows platforms, the retry directory and
the blob files within it are now created accessible to the current user
only, including when the directory is recreated after being deleted. - Directory size accounting no longer follows subdirectories, avoiding
a symbolic-link/junction walk. - Expired lease-file cleanup now correctly locates the lease timestamp
delimiter within the file name rather than the whole path. - Storage maintenance no longer deletes or renames files with a
.blob,
.tmpor.lockextension that the exporter did not create when the
retry directory is shared with other files. Only files named the way the
exporter names its blobs, and the temporary and lease files derived from
them, are now removed or renamed, and only blobs named that way are now
retried. - Timestamps in blob and lease file names are now always written using the
Gregorian calendar. Previously, when the current culture used a different
calendar, files were given timestamps that caused them never to be
removed or released when the storage was maintained. - A stored request whose lease has expired is no longer deleted after it has
been retried, as it may have since been leased again for another retry. - Stored blobs that are empty or that are larger than the maximum size of
the storage are no longer read. When running on .NET, stored blobs that
are symbolic links are also no longer read.
(#7857)
- When running on .NET on non-Windows platforms, the retry directory and
-
Only the first 4 KiB of the body of an unsuccessful response is now read and
written to the exporter's diagnostic log, instead of up to
MaxResponseSizeBytes.
(#7969) -
Fixed reading the body of a failed export response for the exporter's
diagnostic log not being bounded by the export timeout.
(#7970) -
Fixed the body of a failed export response never being written to the
exporter's diagnostic log when running on .NET Framework.
(#7970) -
Fixed attributes whose value is converted with
ToString()(for example
enums,UriorStringValues) being dropped as unsupported, and for metric
data points omitted from every later export, when the export buffer had to
be resized while the attribute was being written.
(#7973) -
Breaking: Fixed telemetry stored by the experimental disk retry feature
for one exporter being resent by another exporter for the same signal to ...
-
coreunstable-1.20.1-beta.1
The following changes are from the previous release 1.20.0-beta.1.
-
NuGet: OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.1-beta.1
-
Fixed scrape responses being handed to the server in a single write, which
made the server buffer a full copy of the response for each client that did
not read it until the request completed or timed out. Responses are now
written in bounded slices so the server's back-pressure applies.
(#7957) -
Fixed startup scrapes permanently omitting
target_infoand configured
resource constant labels from subsequent scrape responses.
(#7984) -
Updated OpenTelemetry core component version(s) to
1.20.1.
(#7990)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.1-beta.1
-
Fixed scrape responses being handed to the server in a single write, which
on Linux and macOS made the listener allocate and hold a full copy of the
response for each client that did not read it until the request completed or
timed out. Responses are now written in bounded slices.
(#7957) -
Fixed scrape requests that announce a request body holding a thread pool
thread after their response had been sent on Linux and macOS for as long as
the client kept trickling in the body. The connection is now closed after
responding to a request with a body instead of being kept alive.
(#7962) -
Fixed startup scrapes permanently omitting
target_infoand configured
resource constant labels from subsequent scrape responses.
(#7984) -
Updated OpenTelemetry core component version(s) to
1.20.1.
(#7990)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Shims.OpenTracing v1.20.1-beta.1
- Updated OpenTelemetry core component version(s) to
1.20.1.
(#7990)
See CHANGELOG for details.
- Updated OpenTelemetry core component version(s) to
core-1.20.1-rc.1
The following changes are from the previous release 1.20.0.
-
NuGet: OpenTelemetry v1.20.1-rc.1
-
Fixed a possible race condition on ARM64 when multiple threads record the
first measurement with no tags, or the first overflow measurement, that could
cause the measurement to be recorded incorrectly.
(#7951) -
Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
and prefixed JWTs.
(#7955) -
Fixed default HTTP client log filtering when registering the OTLP log exporter
throughOpenTelemetryLoggerOptions.
(#7959) -
Fixed legacy self-diagnostics logging terminating the process when the log
file is truncated or the log volume runs out of space.
(#7956) -
Experimental (pre-release builds only): Fixed
Logger.EmitLogignoring
instrumentation suppression, which could cause recursive exports or deadlocks.
(#7961) -
Fixed delta double counters losing subsequent measurements after a non-finite
or large value and idle metric points with aNaNvalue failing to be reclaimed.
(#7963) -
Improve the assignment of values to exponential histogram buckets when the
value is near a bucket boundary by using a pre-computed lookup table.
(#7911) -
Fixed
LogRecords being returned to the shared pool while still queued for
export when an exporter stops enumerating a single-item or array
Batch<LogRecord>early which could cause aBatchLogRecordExportProcessor
on the same provider to export missing or incorrect data.
(#7965) -
Fixed a
SuppressInstrumentationScope.Enter()reference count never being
released when theActivityit was entered for is not recorded, which caused
all subsequent telemetry in that execution context to be suppressed.
(#7966) -
Self-diagnostics log files, whether configured through
OTEL_DIAGNOSTICS.json
orSelfDiagnosticsOptions, are now always created as new files.
(#7968) -
Self-diagnostics messages written to the sinks configured by
SelfDiagnosticsOptionsare now truncated to 16,384 characters so that the
memory used by entries waiting to be written is bounded.
(#7969) -
The self-diagnostics file sink now creates its log directory and log files
so that only the owner can access them (0700/0600) on Linux and macOS,
instead of inheriting the process umask.
(#7967) -
Fixed pooled log records retaining completed log data until reused.
(#7978) -
Fixed slow metric recording when distinct wide tag values, such as
longor
Guid, share the same built-in hash code.
(#7979) -
Fixed
ObservableCounterandObservableUpDownCounteroverflow points
reporting only the last observation instead of the sum for each collection.
(#7985) -
Fixed replaced log attributes being exported together with their original
values when buffering or updatingLogRecord.State.
(#7987)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api v1.20.1-rc.1
- Fixed
TracerProvider.GetTracercaching a new tracer for each call with equal
array-valued scope tags.
(#7960)
See CHANGELOG for details.
- Fixed
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.20.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.20.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.InMemory v1.20.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.20.1-rc.1
-
Fixed informational HTTP client logs not being suppressed by default when the
OTLP log exporter is registered usingOpenTelemetryLoggerOptions.AddOtlpExporter.
(#7959) -
Breaking:
HttpClientinstances created by the exporter directly no
longer follow HTTP redirects. A3xxresponse is now treated as a failed
export. See Configure HttpClient
to preventHttpClientcreated byIHttpClientFactoryfrom following
redirects.
(#7958) -
The value of
OTEL_EXPORTER_OTLP_ENDPOINT, or of its signal-specific
variants, is no longer written to the exporter's diagnostic log when it is
not a valid URI.
(#7971) -
Hardened the experimental disk retry feature.
- When running on .NET on non-Windows platforms, the retry directory and
the blob files within it are now created accessible to the current user
only, including when the directory is recreated after being deleted. - Directory size accounting no longer follows subdirectories, avoiding
a symbolic-link/junction walk. - Expired lease-file cleanup now correctly locates the lease timestamp
delimiter within the file name rather than the whole path. - Storage maintenance no longer deletes or renames files with a
.blob,
.tmpor.lockextension that the exporter did not create when the
retry directory is shared with other files. Only files named the way the
exporter names its blobs, and the temporary and lease files derived from
them, are now removed or renamed, and only blobs named that way are now
retried. - Timestamps in blob and lease file names are now always written using the
Gregorian calendar. Previously, when the current culture used a different
calendar, files were given timestamps that caused them never to be
removed or released when the storage was maintained. - A stored request whose lease has expired is no longer deleted after it has
been retried, as it may have since been leased again for another retry. - Stored blobs that are empty or that are larger than the maximum size of
the storage are no longer read. When running on .NET, stored blobs that
are symbolic links are also no longer read.
(#7857)
- When running on .NET on non-Windows platforms, the retry directory and
-
Only the first 4 KiB of the body of an unsuccessful response is now read and
written to the exporter's diagnostic log, instead of up to
MaxResponseSizeBytes.
(#7969) -
Fixed reading the body of a failed export response for the exporter's
diagnostic log not being bounded by the export timeout.
(#7970) -
Fixed the body of a failed export response never being written to the
exporter's diagnostic log when running on .NET Framework.
(#7970) -
Fixed attributes whose value is converted with
ToString()(for example
enums,UriorStringValues) being dropped as unsupported, and for metric
data points omitted from every later export, when the export buffer had to
be resized while the attribute was being written.
(#7973) -
Breaking: Fixed telemetry stored by the experimental disk retry feature
for one exporter being resent by another exporter for the same signal to its
own endpoint and with its own headers. Disk retry storage is now additionally
separated by a subdirectory derived fr...
-
core-1.20.0
For highlights and announcements pertaining to this release see: Release Notes > 1.20.0.
The following changes are from the previous release 1.19.1.
-
NuGet: OpenTelemetry v1.20.0
-
Fixed
SuppressInstrumentationScopereference counts leaking between inherited asynchronous execution contexts.
(#7803) -
Self-diagnostic features are explicitly disabled on browser-based platforms (e.g. Blazor) and are now non-functional. Previously, attempting to enable self-diagnostics on such platforms would result in an exception at runtime.
(#7799) -
Added
TracerProviderBuilder.ConfigureSamplerwhich receives the resolvedSamplerwhether set programmatically, viaOTEL_TRACES_SAMPLER, or by default, and returns a replacement. Intended for library authors who need to influence sampling without overriding a sampler the application has configured.
(#7780) -
Fixed
ResourceBuilder.CreateDefaultignoringOTEL_RESOURCE_ATTRIBUTESandOTEL_SERVICE_NAMEenvironment variables when the hostIConfigurationdoes not contain those settings.
(#7855) -
Added improved self-diagnostics logging to improve the support experience. The new
SelfDiagnosticsOptionsclass configures a rolling file sink and a console sink through the standard options pipeline. Sinks are off by default.
(#7588) -
Fixed a race that could incorrectly route a concurrent metric measurement to the overflow point when its tag set was published as the cardinality limit was reached.
(#7804) -
Added
OpenTelemetryLoggerOptions.VersionandOpenTelemetryLoggerOptions.SchemaUrloptions to set an instrumentation library version and schema URL applied to logs emitted via theMicrosoft.Extensions.LoggingILoggerintegration.
(#7727) -
Fixed
LogRecord.CategoryNameresetting the currentLogger'sVersiontonullwhen set to a new value.
(#7727) -
Bounded the internal cache of
Loggerscopes keyed by instrumentation to avoid unbounded growth.
(#7727) -
Fixed the
MeterProviderand itsIServiceProviderbeing kept alive after the host is disposed when usingMicrosoft.Extensions.Diagnosticsversions prior to 9.0, which never dispose theirMetricsSubscriptionManager(and its underlyingMeterListener).
(#7924) -
Fixed a race condition between recording a measurement and collecting a histogram with delta temporality that could cause an empty data point (with a count of zero) to be exported in the next collection cycle.
(#7923) -
Improved metric collection performance after metric streams are removed by compacting metric storage during collection.
(#7945)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api v1.20.0
-
Added
Logger.SchemaUrland aLoggerProvider.GetLoggeroverload accepting a schema URL parameter using the newLoggerOptionstype.
(#7727) -
Breaking change (pre-release only versions):
LoggerProvider's protectedTryCreateLogger(string? name, out Logger? logger)extensibility method has been replaced byTryCreateLogger(LoggerOptions options, out Logger? logger). CustomLoggerProvidersubclasses that override the previous overload must update to override the new one; the old overload is no longer called.
(#7727) -
Optimize performance of
BaggagePropagator.Injecton .NET Framework using lookup tables.
(#7947)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.20.0
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.20.0
ConsoleLogRecordExporternow writes anInstrumentation scope (Logger)section (Name, Version, and Schema URL) for each exportedLogRecord.
(#7727)
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.InMemory v1.20.0
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.20.0
-
Avoid closure allocations when serializing cached metric metadata.
(#7841) -
Custom TLS certificate options (custom CA trust and mTLS) and the experimental disk retry feature are explicitly marked as not supported on browser-based platforms (e.g. Blazor).
(#7799) -
Suppressed informational HTTP client logs from OTLP exporters by default. See HttpClient logging for configuration overrides.
(#7743) -
Avoid logging malformed HTTP request headers in the exporter's diagnostic log.
(#7858) -
Avoid buffering the whole compressed request body in memory before sending it on .NET Framework when using HTTP/protobuf with gzip compression.
(#7879) -
The OTLP log exporter now exports
schema_urlonScopeLogs. Log records emitted from aLoggerwith a schema URL set now populateScopeLogs.schema_urlin exported OTLP requests.
(#7727) -
Breaking:
byte[]attributes longer than the configured attribute value length limit (for exampleOTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT) are now truncated to that many bytes instead of being exported in full.
(#7893) -
Breaking:
OTEL_EVENT_ATTRIBUTE_COUNT_LIMITandOTEL_LINK_ATTRIBUTE_COUNT_LIMITnow fall back toOTEL_ATTRIBUTE_COUNT_LIMIT(then the default of 128) when not set, instead of falling back toOTEL_SPAN_ATTRIBUTE_COUNT_LIMIT.
(#7894) -
Breaking: Instrumentation scope attributes exported from
ActivitySource.Tagsare now limited byOTEL_ATTRIBUTE_COUNT_LIMITinstead ofOTEL_SPAN_ATTRIBUTE_COUNT_LIMIT. Only applications that setOTEL_SPAN_ATTRIBUTE_COUNT_LIMITto a different value fromOTEL_ATTRIBUTE_COUNT_LIMITare affected.
(#7902) -
Fixed log records being dropped when using
OtlpExportProtocol.HttpProtobufwithIHttpClientFactoryintegration if the first export of logs happens while theIServiceProvideris being disposed. The exporter now falls back to the defaultHttpClientinstead of failing the export.
(#7916)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.Zipkin v1.20.0
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Hosting v1.20.0
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Propagators v1.20.0
No notable changes.
...
coreunstable-1.20.0-beta.1
The following changes are from the previous release 1.19.1-beta.1.
-
NuGet: OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.0-beta.1
-
A scrape request whose connection is aborted, or whose
X-Prometheus-Scrape-Timeout-Secondsdeadline elapses, now stops waiting for an in-progress metrics collection instead of continuing to wait for it to finish. The collection itself is not cancelled and continues running in the background.
(#7856) -
Updated OpenTelemetry core component version(s) to
1.20.0.
(#7950)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.0-beta.1
- Updated OpenTelemetry core component version(s) to
1.20.0.
(#7950)
See CHANGELOG for details.
- Updated OpenTelemetry core component version(s) to
-
NuGet: OpenTelemetry.Shims.OpenTracing v1.20.0-beta.1
- Updated OpenTelemetry core component version(s) to
1.20.0.
(#7950)
See CHANGELOG for details.
- Updated OpenTelemetry core component version(s) to
core-1.20.0-rc.1
The following changes are from the previous release 1.19.1.
-
NuGet: OpenTelemetry v1.20.0-rc.1
-
Fixed
SuppressInstrumentationScopereference counts leaking between inherited asynchronous execution contexts.
(#7803) -
Self-diagnostic features are explicitly disabled on browser-based platforms (e.g. Blazor) and are now non-functional. Previously, attempting to enable self-diagnostics on such platforms would result in an exception at runtime.
(#7799) -
Added
TracerProviderBuilder.ConfigureSamplerwhich receives the resolvedSamplerwhether set programmatically, viaOTEL_TRACES_SAMPLER, or by default, and returns a replacement. Intended for library authors who need to influence sampling without overriding a sampler the application has configured.
(#7780) -
Fixed
ResourceBuilder.CreateDefaultignoringOTEL_RESOURCE_ATTRIBUTESandOTEL_SERVICE_NAMEenvironment variables when the hostIConfigurationdoes not contain those settings.
(#7855) -
Added improved self-diagnostics logging to improve the support experience. The new
SelfDiagnosticsOptionsclass configures a rolling file sink and a console sink through the standard options pipeline. Sinks are off by default.
(#7588) -
Fixed a race that could incorrectly route a concurrent metric measurement to the overflow point when its tag set was published as the cardinality limit was reached.
(#7804) -
Added
OpenTelemetryLoggerOptions.VersionandOpenTelemetryLoggerOptions.SchemaUrloptions to set an instrumentation library version and schema URL applied to logs emitted via theMicrosoft.Extensions.LoggingILoggerintegration.
(#7727) -
Fixed
LogRecord.CategoryNameresetting the currentLogger'sVersiontonullwhen set to a new value.
(#7727) -
Bounded the internal cache of
Loggerscopes keyed by instrumentation to avoid unbounded growth.
(#7727) -
Fixed the
MeterProviderand itsIServiceProviderbeing kept alive after the host is disposed when usingMicrosoft.Extensions.Diagnosticsversions prior to 9.0, which never dispose theirMetricsSubscriptionManager(and its underlyingMeterListener).
(#7924) -
Fixed a race condition between recording a measurement and collecting a histogram with delta temporality that could cause an empty data point (with a count of zero) to be exported in the next collection cycle.
(#7923) -
Improved metric collection performance after metric streams are removed by compacting metric storage during collection.
(#7945)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api v1.20.0-rc.1
-
Added
Logger.SchemaUrland aLoggerProvider.GetLoggeroverload accepting a schema URL parameter using the newLoggerOptionstype.
(#7727) -
Breaking change (pre-release only versions):
LoggerProvider's protectedTryCreateLogger(string? name, out Logger? logger)extensibility method has been replaced byTryCreateLogger(LoggerOptions options, out Logger? logger). CustomLoggerProvidersubclasses that override the previous overload must update to override the new one; the old overload is no longer called.
(#7727) -
Optimize performance of
BaggagePropagator.Injecton .NET Framework using lookup tables.
(#7947)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.20.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.20.0-rc.1
ConsoleLogRecordExporternow writes anInstrumentation scope (Logger)section (Name, Version, and Schema URL) for each exportedLogRecord.
(#7727)
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.InMemory v1.20.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.20.0-rc.1
-
Avoid closure allocations when serializing cached metric metadata.
(#7841) -
Custom TLS certificate options (custom CA trust and mTLS) and the experimental disk retry feature are explicitly marked as not supported on browser-based platforms (e.g. Blazor).
(#7799) -
Suppressed informational HTTP client logs from OTLP exporters by default. See HttpClient logging for configuration overrides.
(#7743) -
Avoid logging malformed HTTP request headers in the exporter's diagnostic log.
(#7858) -
Avoid buffering the whole compressed request body in memory before sending it on .NET Framework when using HTTP/protobuf with gzip compression.
(#7879) -
The OTLP log exporter now exports
schema_urlonScopeLogs. Log records emitted from aLoggerwith a schema URL set now populateScopeLogs.schema_urlin exported OTLP requests.
(#7727) -
Breaking:
byte[]attributes longer than the configured attribute value length limit (for exampleOTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT) are now truncated to that many bytes instead of being exported in full.
(#7893) -
Breaking:
OTEL_EVENT_ATTRIBUTE_COUNT_LIMITandOTEL_LINK_ATTRIBUTE_COUNT_LIMITnow fall back toOTEL_ATTRIBUTE_COUNT_LIMIT(then the default of 128) when not set, instead of falling back toOTEL_SPAN_ATTRIBUTE_COUNT_LIMIT.
(#7894) -
Breaking: Instrumentation scope attributes exported from
ActivitySource.Tagsare now limited byOTEL_ATTRIBUTE_COUNT_LIMITinstead ofOTEL_SPAN_ATTRIBUTE_COUNT_LIMIT. Only applications that setOTEL_SPAN_ATTRIBUTE_COUNT_LIMITto a different value fromOTEL_ATTRIBUTE_COUNT_LIMITare affected.
(#7902) -
Fixed log records being dropped when using
OtlpExportProtocol.HttpProtobufwithIHttpClientFactoryintegration if the first export of logs happens while theIServiceProvideris being disposed. The exporter now falls back to the defaultHttpClientinstead of failing the export.
(#7916)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.Zipkin v1.20.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Hosting v1.20.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Propagators v1.20.0-rc.1
No notable changes.
See [CHANGELOG](https://github.com/open-telemetr...
core-1.19.1
For highlights and announcements pertaining to this release see: Release Notes > 1.19.1.
The following changes are from the previous release 1.19.0.
-
NuGet: OpenTelemetry v1.19.1
- Fixed
NotSupportedExceptionthrown when building aTracerProviderorMeterProviderwith a large number of wildcard source/meter patterns onnet8.0, and a relatedOutOfMemoryExceptionthat could occur when many such providers were built over the lifetime of a process.
(#7788)
See CHANGELOG for details.
- Fixed
-
NuGet: OpenTelemetry.Api v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.InMemory v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Zipkin v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Hosting v1.19.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Propagators v1.19.1
No notable changes.
See CHANGELOG for details.
coreunstable-1.19.1-beta.1
The following changes are from the previous release 1.19.0-beta.1.
-
NuGet: OpenTelemetry.Exporter.Prometheus.AspNetCore v1.19.1-beta.1
- Updated OpenTelemetry core component version(s) to
1.19.1.
(#7796)
See CHANGELOG for details.
- Updated OpenTelemetry core component version(s) to
-
NuGet: OpenTelemetry.Exporter.Prometheus.HttpListener v1.19.1-beta.1
- Updated OpenTelemetry core component version(s) to
1.19.1.
(#7796)
See CHANGELOG for details.
- Updated OpenTelemetry core component version(s) to
-
NuGet: OpenTelemetry.Shims.OpenTracing v1.19.1-beta.1
- Updated OpenTelemetry core component version(s) to
1.19.1.
(#7796)
See CHANGELOG for details.
- Updated OpenTelemetry core component version(s) to
core-1.19.1-rc.1
The following changes are from the previous release 1.19.0.
-
NuGet: OpenTelemetry v1.19.1-rc.1
- Fixed
NotSupportedExceptionthrown when building aTracerProviderorMeterProviderwith a large number of wildcard source/meter patterns onnet8.0, and a relatedOutOfMemoryExceptionthat could occur when many such providers were built over the lifetime of a process.
(#7788)
See CHANGELOG for details.
- Fixed
-
NuGet: OpenTelemetry.Api v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.InMemory v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Zipkin v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Hosting v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Extensions.Propagators v1.19.1-rc.1
No notable changes.
See CHANGELOG for details.