[][src]Struct tracing_subscriber::layer::Context

pub struct Context<'a, S> { /* fields omitted */ }

Represents information about the current context provided to Layers by the wrapped Subscriber.

Implementations

impl<'a, S: Subscriber> Context<'a, S>[src]

pub fn current_span(&self) -> Current[src]

Returns the wrapped subscriber's view of the current span.

pub fn enabled(&self, metadata: &Metadata) -> bool[src]

Returns whether the wrapped subscriber would enable the current span.

pub fn event(&self, event: &Event)[src]

Records the provided event with the wrapped subscriber.

Notes

  • The subscriber is free to expect that the event's callsite has been registered, and may panic or fail to observe the event if this is not the case. The tracing crate's macros ensure that all events are registered, but if the event is constructed through other means, the user is responsible for ensuring that register_callsite has been called prior to calling this method.
  • This does not call enabled on the inner subscriber. If the caller wishes to apply the wrapped subscriber's filter before choosing whether to record the event, it may first call Context::enabled to check whether the event would be enabled. This allows Layers to elide constructing the event if it would not be recorded.

pub fn metadata(&self, id: &Id) -> Option<&'static Metadata<'static>> where
    S: for<'lookup> LookupSpan<'lookup>, 
[src]

This is supported on feature="registry" only.

Returns metadata for the span with the given id, if it exists.

If this returns None, then no span exists for that ID (either it has closed or the ID is invalid).

Note
Note: This requires the wrapped subscriber to implement the
LookupSpan trait.
Layer implementations that wish to use this
function can bound their Subscriber type parameter with:
```rust,ignore where S: Subscriber + for<'a> LookupSpan<'a>,` ```

pub fn span(&self, id: &Id) -> Option<SpanRef<S>> where
    S: for<'lookup> LookupSpan<'lookup>, 
[src]

This is supported on feature="registry" only.

Returns stored data for the span with the given id, if it exists.

If this returns None, then no span exists for that ID (either it has closed or the ID is invalid).

Note
Note: This requires the wrapped subscriber to implement the
LookupSpan trait.
Layer implementations that wish to use this
function can bound their Subscriber type parameter with:
```rust,ignore where S: Subscriber + for<'a> LookupSpan<'a>,` ```

pub fn exists(&self, id: &Id) -> bool where
    S: for<'lookup> LookupSpan<'lookup>, 
[src]

This is supported on feature="registry" only.

Returns true if an active span exists for the given Id.

Note
Note: This requires the wrapped subscriber to implement the
LookupSpan trait.
Layer implementations that wish to use this
function can bound their Subscriber type parameter with:
```rust,ignore where S: Subscriber + for<'a> LookupSpan<'a>,` ```

pub fn lookup_current(&self) -> Option<SpanRef<S>> where
    S: for<'lookup> LookupSpan<'lookup>, 
[src]

This is supported on feature="registry" only.

Returns stored data for the span that the wrapped subscriber considers to be the current.

If this returns None, then we are not currently within a span.

Note
Note: This requires the wrapped subscriber to implement the
LookupSpan trait.
Layer implementations that wish to use this
function can bound their Subscriber type parameter with:
```rust,ignore where S: Subscriber + for<'a> LookupSpan<'a>,` ```

pub fn scope(&self) -> Scope<S>

Important traits for Scope<'a, L>

impl<'a, L: LookupSpan<'a>> Iterator for Scope<'a, L> type Item = SpanRef<'a, L>;
where
    S: for<'lookup> LookupSpan<'lookup>, 
[src]

This is supported on feature="registry" only.

Returns an iterator over the stored data for all the spans in the current context, starting the root of the trace tree and ending with the current span.

If this iterator is empty, then there are no spans in the current context

Note
Note: This requires the wrapped subscriber to implement the
LookupSpan trait.
Layer implementations that wish to use this
function can bound their Subscriber type parameter with:
```rust,ignore where S: Subscriber + for<'a> LookupSpan<'a>,` ```

Trait Implementations

impl<'a, S> Clone for Context<'a, S>[src]

impl<'a, S: Debug> Debug for Context<'a, S>[src]

Auto Trait Implementations

impl<'a, S> RefUnwindSafe for Context<'a, S> where
    S: RefUnwindSafe

impl<'a, S> Send for Context<'a, S> where
    S: Sync

impl<'a, S> Sync for Context<'a, S> where
    S: Sync

impl<'a, S> Unpin for Context<'a, S>

impl<'a, S> UnwindSafe for Context<'a, S> where
    S: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.