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 ofResource
for 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:
SpanData
now storeslinks
asSpanLinks
instead ofEvictedQueue
where
SpanLinks
is a struct with aVec
of links anddropped_count
.SpanData
now storesevents
asSpanEvents
instead ofEvictedQueue
where
SpanEvents
is a struct with aVec
of events anddropped_count
. -
Breaking Remove
TextMapCompositePropagator
#1373. UseTextMapCompositePropagator
in opentelemetry API. -
#1375 Fix metric collections during PeriodicReader shutdown
-
Breaking #1480 Remove fine grained
BatchConfig
configurations fromBatchLogProcessorBuilder
andBatchSpanProcessorBuilder
. UseBatchConfigBuilder
to construct aBatchConfig
instance and pass it usingBatchLogProcessorBuilder::with_batch_config
orBatchSpanProcessorBuilder::with_batch_config
. -
Breaking #1480 Remove mutating functions from
BatchConfig
, useBatchConfigBuilder
to construct aBatchConfig
instance. -
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
Logger
now takes an Owned Logger instead of aWeak<LoggerProviderInner>
LoggerProviderInner
is no longerpub (crate)
Logger.provider()
now returns&LoggerProvider
instead 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