Skip to content

Releases: open-telemetry/opentelemetry-rust

0.23.0

15 May 17:17
1faa9a7
Compare
Choose a tag to compare
0.23.0 Pre-release
Pre-release

Whats changed?

See individual crate changelogs for details.

New Contributors

@svix-jplatte made their first contribution in #1568
@rex4539 made their first contribution in #1587
@divergentdave made their first contribution in #1584
@pyohannes made their first contribution in #1578
@masato-hi made their first contribution in #1621
@rogercoll made their first contribution in #1624
@LuisOsta made their first contribution in #1638
@svrnm made their first contribution in #1664
@Lev1ty made their first contribution in #1672
@ThomsonTan made their first contribution in #1675
@ramgdev made their first contribution in #1585
@utpilla made their first contribution in #1701
@ChieloNewctle made their first contribution in #1746

0.22.1 of OpenTelemetry sdk

27 Feb 21:09
19b9878
Compare
Choose a tag to compare

Fixed
#1576 Fix Span kind is always set to "internal".

v0.22.0

25 Feb 03:56
ab9415a
Compare
Choose a tag to compare

API

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 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

v0.21.2

04 Jan 17:52
ff64e21
Compare
Choose a tag to compare

Fixed

  • Fix delta aggregation metric reuse. (#1434)
  • Fix max_scale validation of exponential histogram configuration. (#1452)

v0.21.1

13 Nov 20:23
3ed8998
Compare
Choose a tag to compare

Relase backported bugfixes into v0.21.x:

v0.21.0

07 Nov 00:29
47881b2
Compare
Choose a tag to compare

This release should been seen as 1.0-rc4 following 1.0-rc3 in v0.20.0. Refer to CHANGELOG.md in individual creates for details on changes made in different creates.

Changed

  • Bump MSRV to 1.65 #1318
  • opentelemetry crate now only carries the API types #1186. Use the opentelemetry_sdk crate for the SDK types.
  • trace::noop::NoopSpan no longer implements Default and instead exposes a const DEFAULT value. #1270
  • Updated crate documentation and examples. #1256
  • Breaking SpanBuilder attributes changed from OrderMap<Key, Value> to Vec<KeyValue> and with_attributes_map method is removed from SpanBuilder. This implies that OpenTelemetry API will no longer perform de-dup of attribute Keys. #1293. Please share feedback here, if you are affected.

v0.20.0

30 Jul 16:21
dfeac07
Compare
Choose a tag to compare

See individual crate changelogs for details.

v0.19.0

26 Mar 03:22
879d6ff
Compare
Choose a tag to compare

This release should been seen as 1.0-rc2 following 1.0-rc1 in v0.18.0. Refer to CHANGELOG.md in individual creates for details on changes made in different creates.

v0.18.0

13 Sep 02:44
d4b9bef
Compare
Choose a tag to compare

Added

  • Pull sampling probability from OTEL_TRACES_SAMPLER_ARG in default sdk config #737
  • Add schema_url to Tracer #743
  • Add schema_url to Resource #775
  • Add Span::set_attributes #638
  • Support concurrent exports #781
  • Add jaeger remote sampler #797
  • Allow Custom Samplers #833
  • Add SpanExporter::force_flush and default implementation #845

Changed

  • Deprecate metrics ValueRecorder in favor of Histogram #728
  • Move IdGenerator to SDK, rename to RandomIdGenerator #742
  • meter_with_version accepts optional parameter for version and schema_url #752
  • Unify Event and Link access patterns #757
  • move SpanKind display format impl to jaeger crate #758
  • make TraceStateError private #755
  • rename Span::record_exception to Span::record_error #756
  • Replace StatusCode and message with Status #760
  • Move TracerProvider::force_flush to SDK #658
  • Switch to static resource references #790
  • Allow O(1) get operations for SpanBuilder::attributes [breaking] #799
  • Allow ref counted keys and values #821
  • Bump MSRV from 1.49 to 1.55 #811
  • bump MSRV to 1.56 #866
  • Update metrics API and SDK for latest spec #819
  • Switch to pin-project-lite #830

Fixed

  • Update dashmap to avoid soundness hole #818
  • Perform sampling as explained in the specification #839
  • Remove internal message queue between exporter and exporting tasks #848
  • Fix span processor exporting unsampled spans #871

Removed

  • Remove serialize feature #738
  • Remove StatusCode::as_str #741
  • Remove Tracer::with_span #746

v0.17.0

22 Jan 17:06
d719eae
Compare
Choose a tag to compare

Changed

  • Implement Serialize & Deserialize for Sampler, SpanLimits #622, #626
  • Allow &'static str and string in span methods #654
  • Allow String data in instrumentation library. #670
  • Remove std::fmt::Debug and 'static requirements from TracerProvider,
    Tracer, and Span #664
  • Remove unused Tracer::invalid method #683
  • Split TracerProvider::tracer and TracerProvider::versioned_tracer methods #682
  • Reduce dependency on futures crate #684
  • Switch to parent context references #687
  • Spec-compliant trace and span ids #689
  • Optimize span creation internals #693
  • Add instrumentation library to ShouldSample parameters #695

Fixed

  • Fix default resource detection for tracer provider #641
  • Detect service.name from OTEL_SERVICE_NAME and OTEL_RESOURCE_ATTRIBUTES #662
  • Fix TraceState::valid_key crashes #665