- #1576 Fix Span kind is always set to "internal".
- XrayIdGenerator in the opentelemetry-sdk has been deprecated and moved to version 0.10.0 of the opentelemetry-aws crate.
-
#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 of
Resource
for every Span/LogRecord.
-
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
whereSpanLinks
is a struct with aVec
of links anddropped_count
.SpanData
now storesevents
asSpanEvents
instead ofEvictedQueue
whereSpanEvents
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 calling
Counter::add()
andUpDownCounter::add()
with an empty set of attributes (e.g.counter.Add(5, &[])
) -
Breaking Renamed
MeterProvider
andMeter
toSdkMeterProvider
andSdkMeter
respectively to avoid name collision with public API types. #1328
- #1481 Fix error message caused by race condition when using PeriodicReader
- Fix delta aggregation metric reuse. #1434
- Fix
max_scale
validation of exponential histogram configuration. #1452
- Fix metric export corruption if gauges have not received a last value. #1363
- Return consistent
Meter
for a given scope fromMeterProvider
. #1351
- Log warning if two instruments have the same name with different #1266 casing
- Log warning if view is created with empty criteria #1266
- Add exponential histogram support #1267
- Add
opentelemetry::sdk::logs::config()
for parity withopentelemetry::sdk::trace::config()
#1197
-
Bump MSRV to 1.65 #1318
-
Default Resource (the one used when no other Resource is explicitly provided) now includes
TelemetryResourceDetector
, populating "telemetry.sdk.*" attributes. #1194. -
Bump MSRV to 1.64 #1203
-
Add unit/doc tests for MeterProvider #1220
-
Changed dependency from
opentelemetry_api
toopentelemetry
as the latter is now the API crate. #1226 -
Add in memory span exporter #1216
-
Add in memory log exporter #1231
-
Add
Sync
bound to theSpanExporter
andLogExporter
traits #1240 -
Move
MetricsProducer
config to builders to match other config #1266 -
Return error earlier if readers are shut down #1266
-
Add
/
to valid characters for instrument names #1269 -
Increase instrument name maximum length from 63 to 255 #1269
-
Updated crate documentation and examples. #1256
-
Replace regex with glob #1301
-
Breaking #1293 makes few breaking changes with respect to how Span attributes are stored to achieve performance gains. See below for details:
Behavior Change:
SDK will no longer perform de-duplication of Span attribute Keys. Please share feedback here, if you are affected.
Breaking Change Affecting Exporter authors:
SpanData
now storesattributes
asVec<KeyValue>
instead ofEvictedHashMap
.SpanData
now exposedropped_attributes_count
as a separate field.Breaking Change Affecting Sampler authors:
should_sample
changesattributes
fromOrderMap<Key, Value>
toVec<KeyValue>
. -
Breaking Move type argument from
RuntimeChannel<T>
to associated types #1314
- Remove context from Metric force_flush #1245
- Remove
logs::BatchMessage
andtrace::BatchMessage
types #1314
- Fix metric instrument name validation to include
_
#1274
- Implement cardinality limits for metric streams #1066.
- Propagate shutdown calls from
PeriodicReader
to metrics exporter #1138. - Add in memory metrics exporter #1017
- New metrics SDK #1000
- Use
Cow<'static, str>
instead of&'static str
#1018 - Unify trace and logs runtime extensions traits. #1067
- Fix EvictedQueue bug when capacity is set to 0 #1151.
- Samplers no longer has access to
InstrumentationLibrary
as one of parameters toshould_sample
. #1041. - Synchronous instruments no longer accepts
Context
while reporting measurements. #1076. - Don't use CARGO_BIN_NAME for service name #1150
- Wait for exports on the simple span processor's ForceFlush #1030
- Add instrument validation to
InstrumentBuilder
#884. - Add
TelemetryResourceDetector
#899. - Add support for instrumentation scope attributes #1021.
- Update to
opentelemetry_api
v0.19. - Update to
opentelemetry_http
v0.8. - Bump MSRV to 1.57 #953.
- Fix doc in
ShouldSample
trait #951 - Only run
ParentBased
delegate sampler when there is no parent #948. - Improve
SdkProvidedResourceDetector
's doc #964. - Update dependencies and bump MSRV to 1.60 #969.
- Use CARGO_BIN_NAME as default service name #991.
- Remove
in_memory
settings #946.
- Update the Number in the SDK API to support min and max. #989
- BREAKING
struct
s which implementShouldSample
a.k.a Custom Samplers must now implementClone
. This enables (#833) - SDK split from
opentelemetry
crate