OpenTelemetry - CNCF/opentelemetry-rust: Release v0.22.0

Name: opentelemetry-rust

Owner: OpenTelemetry - CNCF

Release: v0.22.0

Released: 2024-02-25

License: Apache-2.0

Release Assets:

API

Added

Changed

Removed

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 via OtlpLogPipeline::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 of Resource 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 from SpanLimits, 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 stores links as SpanLinks instead of EvictedQueue where SpanLinks is a struct with a Vec of links and dropped_count.

    SpanData now stores events as SpanEvents instead of EvictedQueue where SpanEvents is a struct with a Vec of events and dropped_count.

  • Breaking Remove TextMapCompositePropagator #1373. Use TextMapCompositePropagator in opentelemetry API.

  • #1375 Fix metric collections during PeriodicReader shutdown

  • Breaking #1480 Remove fine grained BatchConfig configurations from BatchLogProcessorBuilder and BatchSpanProcessorBuilder. Use BatchConfigBuilder to construct a BatchConfig instance and pass it using BatchLogProcessorBuilder::with_batch_config or BatchSpanProcessorBuilder::with_batch_config.

  • Breaking #1480 Remove mutating functions from BatchConfig, use BatchConfigBuilder to construct a BatchConfig 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 a Weak<LoggerProviderInner>
    • LoggerProviderInner is no longer pub (crate)
    • Logger.provider() now returns &LoggerProvider instead of an Option<LoggerProvider>
  • 1519 Performance improvements when calling Counter::add() and UpDownCounter::add() with an empty set of attributes (e.g. counter.Add(5, &[]))

Fixed

  • #1481 Fix error message caused by race condition when using PeriodicReader

To top