Skip to content

Latest commit

 

History

History
283 lines (214 loc) · 10 KB

CHANGELOG.md

File metadata and controls

283 lines (214 loc) · 10 KB

Changelog

Added

  • Add force_flush method to span processors #358
  • Add timeout for force_flush and shutdown #362

Changed

  • Implement Display trait for Key and Value types #353
  • Remove Option from Array values #359
  • Update ShouldSample's parent parameter to be Context #368
  • Consolidate error types in trace module into TraceError #371
  • Add #[must_use] to uninstall structs #372
  • Move 3rd party propagators and merge exporter into sdk::export #375
  • Add instrumentation version to instrument config #392
  • Use instrumentation library in metrics #393

Fixed

  • Fix parent based sampling in tracer #354
  • StatusCode enum value ordering #377
  • Counter adding the delta from last collection #395

Added

  • Add support for baggage metadata #287

Changed

  • Remove api prefix from modules #305
  • Move mark_as_active_span and get_active_span functions into trace module #310
  • Revert renaming of SpanContext to SpanReference #299
  • Default trace propagator is now a no-op #329
  • Return references to span contexts instead of clones #325
  • Update exporter errors to be Box<dyn Error + Send + Sync + 'static> #284
  • Rename GenericProvider to GenericTracerProvider #313
  • Reduce SpanStatus enum to Ok, Error, and Unset variants #315
  • update B3 propagator to more closely match spec #319
  • Export missing pub global trace types #313
  • Ensure kv array values are homogeneous #333
  • Implement Display trait for Key and Value types #353
  • Move SpanProcessor trait into sdk module #334
  • Ensure is_recording is false and span is no-op after end #341
  • Move binary propagator and base64 format to contrib #343
  • Ensure metrics noop types go through constructors #345
  • Change ExportResult to use std::result::Result #347
  • Change SpanExporter::export to take &mut self instead of &self #350
  • Add MSRV 1.42.0 #296

Fixed

  • Fix parent based sampling #354

Removed

  • Remove support for u64 and bytes kv values #323
  • Remove kv value conversion from &str #332

Added

  • Allow metric instruments to be cloned #280

Fixed

  • Fix single threaded runtime tokio feature bug #278

Added

  • Add resource detector #174
  • Add fields method to TextMapFormat #178
  • Add support for tracestate in TraceContextPropagator #191
  • Propagate valid span context in noop tracer #197
  • Add end_with_timestamp method for trace span #199
  • Add ID methods for hex and byte array formatting #200
  • Add AWS X-Ray ID Generator #201
  • AWS X-Ray Trace Context Propagator #202
  • Add instrumentation library information to spans #207
  • Add keys method to extractors #209
  • Add TraceState to SpanContext #217
  • Add from_env config option for BatchSpanProcessor #228
  • Add pipeline uninstall mechanism to shut down trace pipelines #229

Changed

  • Re-write metrics sdk to be spec compliant #179
  • Rename Sampler::Probability to Sampler::TraceIdRatioBased #188
  • Rename HTTPTextPropagator to TextMapPropagator #192
  • Ensure extractors are case insensitive #193
  • Rename Provider to TracerProvider #206
  • Rename CorrelationContext into Baggage #208
  • Pipeline builder for stdout trace exporter #224
  • Switch to async exporters #232
  • Allow ShouldSample implementation to modify trace state #237
  • Ensure context guard is !Send #239
  • Ensure trace noop structs use new constructor #240
  • Switch to w3c baggage header #246
  • Move trace module imports from api to api::trace #255
  • Update tonic feature to use version 0.3.x #258
  • Update exporters to receive owned span data #264
  • Move propagators to sdk::propagation #266
  • Rename SpanContext to SpanReference #270
  • Rename SamplingDecision's NotRecord, Record and RecordAndSampled to Drop RecordOnly and RecordAndSample #247

Added

  • Add custom span processors to Provider::Builder #166

Changed

  • Separate Carrier into Injector and Extractor #164
  • Change the default sampler to be ParentOrElse(AlwaysOn) #163
  • Move the Sampler interface to the SDK #169

Added

  • New ParentOrElse sampler for fallback logic if parent is not sampled. #128
  • Attributes can now have array values #146
  • Added record_exception and record_exception_with_stacktrace methods to Span #152

Changed

  • Update sampler types #128
    • Always is now AlwaysOn. Never is now AlwaysOff. Probability now ignores parent sampled state.
  • base64 and binary_propagator have been moved to experimental module. #134
  • Correlation-Context header has been updated to otcorrelations #145
  • B3Propagator has been updated to more closely follow the spec #148

Added

  • Add http and tonic features to impl Carrier for common types.

Changed

  • Removed span_id from sampling parameters when implementing custom samplers.

Fixed

  • Make Context Send + Sync in #127

Added

  • Derive Clone for B3Propagator, SamplingResult, and SpanBuilder
  • Ability to configure the span id / trace id generator
  • impl From<T> for common Key and Value types
  • Add global tracer method
  • Add Resource API
  • Add Context API
  • Add Correlations API
  • Add HttpTextCompositePropagator for composing HttpTextPropagators
  • Add GlobalPropagator for globally configuring a propagator
  • Add TraceContextExt to provide methods for working with trace data in a context
  • Expose EvictedQueue constructor

Changed

  • Ensure that impls of Span are Send and Sync when used in global
  • Changed Key and Value method signatures to remove Cow references
  • Tracer's start now uses the implicit current context instead of an explicit span context. start_with_context may be used to specify a context if desired.
  • with_span now accepts a span for naming consistency and managing the active state of a more complex span (likely produced by a builder), and the previous functionality that accepts a &str has been renamed to in_span, both of which now yield a context to the provided closure.
  • Tracer's get_active_span now accepts a closure
  • The Instrument trait has been renamed to FutureExt to avoid clashing with metric instruments, and instead accepts contexts via with_context.
  • Span's get_context method has been renamed to span_context to avoid ambiguity.
  • HttpTextPropagators inject the current context instead of an explicit span context. The context can be specified with inject_context.
  • SpanData's context has been renamed to span_context

Fixed

  • Update the probability sampler to match the spec
  • Rename Traceparent header to traceparent

Removed

  • TracerGenerics methods have been folded in to the Tracer trait so it is longer needed
  • Tracer's mark_span_as_inactive has been removed
  • Exporters no longer require an as_any method
  • Span's mark_as_active, mark_as_inactive, and as_any have been removed

Added

  • New async batch span processor
  • New stdout exporter
  • Add trace_id to SpanBuilder

Changed

  • Add attributes to Events.
  • Update Span's add_event and add_event_with_timestamp to accept attributes.
  • Record log fields in jaeger exporter
  • Properly export span kind in jaeger exporter
  • Add support for Links
  • Add status_message to Span and SpanData
  • Rename SpanStatus to StatusCode
  • Update EvictedQueue internals from LIFO to FIFO
  • Switch span attributes to EvictedHashMap

Fixed

  • Call shutdown correctly when span processors and exporters are dropped

Added

  • New Base64 propagator
  • New SpanBuilder api
  • Zipkin Exporter crate

Changed

  • Switch to SpanId and TraceId from u64 and u128
  • Remove &mut self requirements for Span API

Fixed

  • circular Tracer debug impl

Added

  • Make trace and metrics features optional
  • ExportResult as specified in the specification
  • Add Futures compatibility API
  • Added serde serialise support to SpanData
  • Separate OpenTelemetry Jaeger crate

Changed

  • Rename HttpTraceContextPropagator to TraceContextPropagator
  • Rename HttpB3Propagator to B3Propagator
  • Switch to Apache 2 license
  • Resolve agent addresses to allow non-static IP
  • Remove tracer name prefix from span name

Removed

  • Remove add_link from spans

Added

  • trace-context propagator

Changed

  • Prometheus API cleanup

Added

  • Parent option for default sampler

Fixed

  • SDK tracer default span id

Changed

  • Ensure spans are always send and sync
  • Allow static lifetimes for span names
  • Improve KeyValue ergonomics

Added

  • Implement global provider

Added

  • Documentation and API cleanup
  • Tracking of active spans via thread local span stack

Initial debug alpha