This layer is only concerned with information storage, it does not do any formatting or provide any output.
It's purpose is to store the fields associated to spans in an easy-to-consume format for downstream layers concerned with emitting a formatted representation of spans or events.
impl Clone for JsonStorageLayer[src]
impl Debug for JsonStorageLayer[src]
impl<S: Subscriber + for<'a> LookupSpan<'a>> Layer<S> for JsonStorageLayer[src]
fn new_span(&self, attrs: &Attributes, id: &Id, ctx: Context<S>)[src]
Span creation. This is the only occasion we have to store the fields attached to the span given that they might have been borrowed from the surrounding context.
When we enter a span for the first time save the timestamp in its extensions.
When we close a span, register how long it took in milliseconds.
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest[src]
fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<S>)[src]
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<S>)[src]
fn with_subscriber(self, inner: S) -> Layered<Self, S, S>[src]
impl RefUnwindSafe for JsonStorageLayer
impl Send for JsonStorageLayer
impl Sync for JsonStorageLayer
impl Unpin for JsonStorageLayer
impl UnwindSafe for JsonStorageLayer
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)[src]
type Error = Infallible
The type returned in the event of a conversion error.