pub struct Context {
pub trace_id: TraceId,
pub span_id: SpanId,
pub sampling_decision: SamplingDecision,
}Expand description
A context for tracing the execution of processes, distributed or otherwise.
Consists of a span identifying an event, an optional parent span identifying a causal event that triggered the current span, and a trace with which all related spans are associated.
Fields
trace_id: TraceIdAn identifier of the trace associated with the current context. A trace ID is typically created at a root span and passed along through all causal events.
span_id: SpanIdAn identifier of the current span. In typical RPC usage, a span is created by a client before making an RPC, and the span ID is sent to the server. The server is free to create its own spans, for which it sets the client’s span as the parent span.
sampling_decision: SamplingDecisionIndicates whether a sampler has already decided whether or not to sample the trace
associated with the Context. If sampling_decision is None, then a decision has not yet
been made. Downstream samplers do not need to abide by “no sample” decisions–for example,
an upstream client may choose to never sample, which may not make sense for the client’s
dependencies. On the other hand, if an upstream process has chosen to sample this trace,
then the downstream samplers are expected to respect that decision and also sample the
trace. Otherwise, the full trace would not be able to be reconstructed.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Context
impl<'de> Deserialize<'de> for Context
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl TryFrom<&'_ Span> for Context
impl TryFrom<&'_ Span> for Context
type Error = NoActiveSpan
type Error = NoActiveSpan
The type returned in the event of a conversion error.
sourcefn try_from(span: &Span) -> Result<Self, NoActiveSpan>
fn try_from(span: &Span) -> Result<Self, NoActiveSpan>
Performs the conversion.
impl Copy for Context
impl Eq for Context
impl StructuralEq for Context
impl StructuralPartialEq for Context
Auto Trait Implementations
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more