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

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

Methods for storing and retrieving trace data in a context.

Required methods

pub fn current_with_span<T: Span + Send + Sync>(span: T) -> Self[src]

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

This is useful for building tracers.

pub fn with_span<T: Span + Send + Sync>(&self, span: T) -> Self[src]

Returns a clone of this context with the included span.

This is useful for building tracers.

pub fn span(&self) -> &dyn Span[src]

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());
});

pub fn has_active_span(&self) -> bool[src]

Used to see if a span has been marked as active

This is useful for building tracers.

pub fn with_remote_span_context(&self, span_context: SpanContext) -> Self[src]

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

This is useful for building propagators.

pub fn remote_span_context(&self) -> Option<&SpanContext>[src]

Returns a reference to the remote span context data stored in this context, or none if no remote span context has been set.

This is useful for building tracers.

Loading content...

Implementors

impl TraceContextExt for Context[src]

Loading content...