v0.22.0
Pre-releaseAPI
Added
-
#1410 Add experimental synchronous gauge. This is behind the feature flag, and can be enabled by enabling the feature otel_unstable for opentelemetry crate.
-
#1410 Guidelines to add new unstable/experimental features.
Changed
- Modified AnyValue.Map to be backed by HashMap instead of custom OrderMap, which internally used IndexMap. There was no requirement to maintain the order of entries, so moving from IndexMap to HashMap offers slight performance gains, and avoids IndexMap dependency. This affects body and attributes of LogRecord. #1353
- Add TextMapCompositePropagator #1373
- Turned off events for NoopLogger to save on operations #1455
Removed
- Removed OrderMap type as there was no requirement to use this over regular HashMap. #1353
- Remove API for Creating Histograms with signed integers. #1371
- Remove global::shutdown_meter_provider, use SdkMeterProvider::shutdown directly instead (#1412).
SDK
Deprecated
- XrayIdGenerator in the opentelemetry-sdk has been deprecated and moved to version 0.10.0 of the opentelemetry-aws crate.
Added
-
#1410 Add experimental synchronous gauge
-
#1471 Configure batch log record processor via
OTEL_BLRP_*environment variables and viaOtlpLogPipeline::with_batch_config -
#1503 Make the documentation for In-Memory exporters visible.
-
#1526
Performance Improvement : Creating Spans and LogRecords are now faster, by avoiding expensive cloning ofResourcefor every Span/LogRecord.
Changed
-
Breaking
#1313
#1350
Changes how Span links/events are stored to achieve performance gains. See
below for details:Behavior Change: When enforcing
max_links_per_span,max_events_per_span
fromSpanLimits, links/events are kept in the first-come order. The previous
"eviction" based approach is no longer performed.Breaking Change Affecting Exporter authors:
SpanDatanow storeslinksasSpanLinksinstead ofEvictedQueuewhere
SpanLinksis a struct with aVecof links anddropped_count.SpanDatanow storeseventsasSpanEventsinstead ofEvictedQueuewhere
SpanEventsis a struct with aVecof events anddropped_count. -
Breaking Remove
TextMapCompositePropagator#1373. UseTextMapCompositePropagatorin opentelemetry API. -
#1375 Fix metric collections during PeriodicReader shutdown
-
Breaking #1480 Remove fine grained
BatchConfigconfigurations fromBatchLogProcessorBuilderandBatchSpanProcessorBuilder. UseBatchConfigBuilderto construct aBatchConfiginstance and pass it usingBatchLogProcessorBuilder::with_batch_configorBatchSpanProcessorBuilder::with_batch_config. -
Breaking #1480 Remove mutating functions from
BatchConfig, useBatchConfigBuilderto construct aBatchConfiginstance. -
Breaking #1495 Remove Batch LogRecord&Span Processor configuration via non-standard environment variables. Use the following table to migrate from the no longer supported non-standard environment variables to the standard ones.
| No longer supported | Standard equivalent |
|---|---|
| OTEL_BLRP_SCHEDULE_DELAY_MILLIS | OTEL_BLRP_SCHEDULE_DELAY |
| OTEL_BLRP_EXPORT_TIMEOUT_MILLIS | OTEL_BLRP_EXPORT_TIMEOUT |
| OTEL_BSP_SCHEDULE_DELAY_MILLIS | OTEL_BSP_SCHEDULE_DELAY |
| OTEL_BSP_EXPORT_TIMEOUT_MILLIS | OTEL_BSP_EXPORT_TIMEOUT |
-
Breaking 1455 Make the LoggerProvider Owned
Loggernow takes an Owned Logger instead of aWeak<LoggerProviderInner>LoggerProviderInneris no longerpub (crate)Logger.provider()now returns&LoggerProviderinstead of anOption<LoggerProvider>
-
1519 Performance improvements
when callingCounter::add()andUpDownCounter::add()with an empty set of attributes
(e.g.counter.Add(5, &[]))
Fixed
- #1481 Fix error message caused by race condition when using PeriodicReader