- Allow metric instruments to be cloned #280
- Fix single threaded runtime tokio feature bug #278
- Add resource detector #174
- Add
fields
method to TextMapFormat #178 - Add support for
tracestate
inTraceContextPropagator
#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
toSpanContext
#217 - Add
from_env
config option forBatchSpanProcessor
#228 - Add pipeline uninstall mechanism to shut down trace pipelines #229
- Re-write metrics sdk to be spec compliant #179
- Rename
Sampler::Probability
toSampler::TraceIdRatioBased
#188 - Rename
HTTPTextPropagator
toTextMapPropagator
#192 - Ensure extractors are case insensitive #193
- Rename
Provider
toTracerProvider
#206 - Rename
CorrelationContext
intoBaggage
#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
toapi::trace
#255 - Update
tonic
feature to use version0.3.x
#258 - Update exporters to receive owned span data #264
- Move propagators to
sdk::propagation
#266 - Rename SpanContext to SpanReference #270
- Rename
SamplingDecision
'sNotRecord
,Record
andRecordAndSampled
toDrop
RecordOnly
andRecordAndSample
#247
- Add custom span processors to
Provider::Builder
#166
- Separate
Carrier
intoInjector
andExtractor
#164 - Change the default sampler to be
ParentOrElse(AlwaysOn)
#163 - Move the
Sampler
interface to the SDK #169
- New
ParentOrElse
sampler for fallback logic if parent is not sampled. #128 - Attributes can now have array values #146
- Added
record_exception
andrecord_exception_with_stacktrace
methods toSpan
#152
- Update sampler types #128
Always
is nowAlwaysOn
.Never
is nowAlwaysOff
.Probability
now ignores parent sampled state.
base64
andbinary_propagator
have been moved toexperimental
module. #134Correlation-Context
header has been updated tootcorrelations
#145B3Propagator
has been updated to more closely follow the spec #148
- Add
http
andtonic
features to implCarrier
for common types.
- Removed
span_id
from sampling parameters when implementing custom samplers.
- Make
Context
Send + Sync
in #127
- Derive
Clone
forB3Propagator
,SamplingResult
, andSpanBuilder
- Ability to configure the span id / trace id generator
- impl
From<T>
for commonKey
andValue
types - Add global
tracer
method - Add
Resource
API - Add
Context
API - Add
Correlations
API - Add
HttpTextCompositePropagator
for composingHttpTextPropagator
s - Add
GlobalPropagator
for globally configuring a propagator - Add
TraceContextExt
to provide methods for working with trace data in a context - Expose
EvictedQueue
constructor
- Ensure that impls of
Span
areSend
andSync
when used inglobal
- Changed
Key
andValue
method signatures to removeCow
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 toin_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 toFutureExt
to avoid clashing with metric instruments, and instead accepts contexts viawith_context
. - Span's
get_context
method has been renamed tospan_context
to avoid ambiguity. HttpTextPropagators
inject the current context instead of an explicit span context. The context can be specified withinject_context
.SpanData
'scontext
has been renamed tospan_context
- Update the probability sampler to match the spec
- Rename
Traceparent
header totraceparent
TracerGenerics
methods have been folded in to theTracer
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
, andas_any
have been removed
- New async batch span processor
- New stdout exporter
- Add
trace_id
toSpanBuilder
- Add
attributes
toEvent
s. - Update
Span
'sadd_event
andadd_event_with_timestamp
to accept attributes. - Record log fields in jaeger exporter
- Properly export span kind in jaeger exporter
- Add support for
Link
s - Add
status_message
toSpan
andSpanData
- Rename
SpanStatus
toStatusCode
- Update
EvictedQueue
internals from LIFO to FIFO - Switch span attributes to
EvictedHashMap
- Call
shutdown
correctly when span processors and exporters are dropped
- New Base64 propagator
- New SpanBuilder api
- Zipkin Exporter crate
- Switch to
SpanId
andTraceId
fromu64
andu128
- Remove
&mut self
requirements forSpan
API
- circular Tracer debug impl
- 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
- 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
- Remove add_link from spans
- trace-context propagator
- Prometheus API cleanup
- Parent option for default sampler
- SDK tracer default span id
- Ensure spans are always send and sync
- Allow static lifetimes for span names
- Improve KeyValue ergonomics
- Implement global provider
- Documentation and API cleanup
- Tracking of active spans via thread local span stack
Initial debug alpha