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 for details.