The following changes are from the previous release 1.17.0.
-
NuGet: OpenTelemetry v1.18.0-rc.1
-
Fixed self-diagnostics log lines being silently dropped when an event message or parameter contained enough 3-byte UTF-8 characters to overflow the internal buffer estimate. Such content is now truncated.
(#7543) -
Fixed activity creation throwing when multiple tracer providers return a sampler attribute with the same key.
(#7558) -
Added the
otel.sdk.processor.log.processedSDK self-observability metric.
(#7486) -
Added the
otel.sdk.processor.span.processedSDK self-observability metric.
(#7598) -
BatchActivityExportProcessorandSimpleActivityExportProcessorno longer forward spans to the exporter onceShutdownhas been called, andBatchActivityExportProcessor.Shutdownnow waits for in-flightOnEndcalls to finish enqueueing before flushing.
(#7598) -
Fix logger, meter and tracer providers leaking background threads if an exception is thrown by their constructor after resource creation.
(#7615) -
CircularBufferBuckets.Copyoptimized to use bulk array copies.
(#7670) -
Restored configured
MaxScaleafter delta exponential histogram collection.
(#7671)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Api v1.18.0-rc.1
- Avoid formatting exceptions and creating exception attributes when
RecordExceptionis called on a span that is not recorded.
(#7669)
See CHANGELOG for details.
- Avoid formatting exceptions and creating exception attributes when
-
NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.18.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.Console v1.18.0-rc.1
- Added support for serializing attribute values that are key/value lists (
IEnumerable<KeyValuePair<string, object?>>). These attributes will be serialized as JSON objects.
(#7015)
See CHANGELOG for details.
- Added support for serializing attribute values that are key/value lists (
-
NuGet: OpenTelemetry.Exporter.InMemory v1.18.0-rc.1
No notable changes.
See CHANGELOG for details.
-
NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.18.0-rc.1
-
Fixed
UseOtlpExporterto respect options configured throughservices.Configure<OtlpExporterOptions>(...).
(#7540) -
Clamped the server-supplied OTLP/gRPC retry delay (
RetryInfo.retry_delay) to a non-negative value. A negative delay previously caused the telemetry batch to be dropped.
(#7544) -
Fixed serialization failures leaving failed trace, metric, and log batches in the serializer's per-thread state. For logs, this also leaked pooled instances.
(#7579) -
Fixed the persistent-storage retry thread terminating permanently on an unexpected exception, which silently disabled
diskretry for the remaining process lifetime while stored telemetry continued to accumulate and then expire.
(#7597) -
Fixed the OTLP exporter from retrying certain non-transient HTTP failures.
(#7600) -
Added support for serializing attribute values that are key/value lists (
IEnumerable<KeyValuePair<string, object?>>) as nested OTLPkvlistvalues. Nesting is limited to a maximum recursion depth of 3; deeper values fall back to their string representation.
(#7015) -
A server-supplied throttle delay (OTLP/gRPC
RetryInfo.retry_delayor OTLP/HTTPRetry-After) is now clamped to a minimum of 100 milliseconds.
(#7583) -
Added
OtlpExporterOptions.MaxResponseSizeBytesto 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.
(#7583) -
Improved OTLP log attribute serialization performance by avoiding unnecessary boxing.
(#7645) -
Improved OTLP histogram serialization performance by avoiding a redundant scan of explicit bucket bounds.
(#7647) -
The OTLP exporter will now export logger version if it was specified. Log records are grouped into
ScopeLogsby logger name and version, so loggers sharing a name but reporting different versions are exported as separate scopes.
(#7636) -
Fixed persistent storage allowing a blob write to exceed the configured maximum storage size.
(#7646) -
Improved OTLP/gRPC response status handling performance by avoiding unnecessary header enumeration on .NET 8+.
(#7659) -
Added
OtlpExporterOptions.MaxRequestSizeBytesto configure the 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.
(#7584) -
Breaking: The maximum size of a single export request is now 64 MiB by default instead of 128 MiB to conform with the OpenTelemetry specification. Raise the value of
OtlpExporterOptions.MaxRequestSizeBytesproperty to increase the capacity.
(#7584)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Exporter.Zipkin v1.18.0-rc.1
-
Fixed the exporter to read responses with
HttpCompletionOption.ResponseHeadersReadfor the .NET Framework and .NET Standard targets, matching the behavior on .NET to avoid buffering the response body in memory when it is not actually used.
(#7582) -
Added support for serializing attribute values that are key/value lists (
IEnumerable<KeyValuePair<string, object?>>).
(#7015)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Extensions.Hosting v1.18.0-rc.1
- Add new
ITelemetryHostInitializerinterface for applications that do not support hosted services, such as Blazor, to use to manually initialize the OpenTelemetry SDK as part of application startup.
(#7641)
See CHANGELOG for details.
- Add new
-
NuGet: OpenTelemetry.Extensions.Propagators v1.18.0-rc.1
- Fixed inefficient parsing of the Jaeger
uber-trace-idheader when targetingnet462ornetstandard2.0.
(#7545)
See CHANGELOG for details.
- Fixed inefficient parsing of the Jaeger