Trait opentelemetry::trace::TraceContextExt[][src]

pub trait TraceContextExt {
    fn current_with_span<T: Span + Send + Sync + 'static>(span: T) -> Self;
fn with_span<T: Span + Send + Sync + 'static>(&self, span: T) -> Self;
fn span(&self) -> SpanRef<'_>;
fn has_active_span(&self) -> bool;
fn with_remote_span_context(&self, span_context: SpanContext) -> Self; }
This is supported on crate feature trace only.
Expand description

Methods for storing and retrieving trace data in a context.

Required methods

Returns a clone of the current context with the included span.

This is useful for building tracers.

Returns a clone of this context with the included span.

This is useful for building tracers.

Returns a reference to this context’s span, or the default no-op span if none has been set.

Examples

use opentelemetry::{
    sdk::trace as sdktrace,
    trace::{SpanContext, TraceContextExt, Tracer, TracerProvider},
    Context,
};

// returns a reference to an empty span by default
assert_eq!(Context::current().span().span_context(), &SpanContext::empty_context());

sdktrace::TracerProvider::default().get_tracer("my-component", None).in_span("my-span", |cx| {
    // Returns a reference to the current span if set
    assert_ne!(cx.span().span_context(), &SpanContext::empty_context());
});

Used to see if a span has been marked as active

This is useful for building tracers.

Returns a copy of this context with the span context included.

This is useful for building propagators.

Implementors