logo
pub trait SpanProcessor: Send + Sync + Debug {
    fn on_start(&self, span: &mut Span, cx: &Context);
    fn on_end(&self, span: SpanData);
    fn force_flush(&self) -> TraceResult<()>;
    fn shutdown(&mut self) -> TraceResult<()>;
}
Available on crate feature trace only.
Expand description

SpanProcessor is an interface which allows hooks for span start and end method invocations. The span processors are invoked only when is_recording is true.

Required Methods

on_start is called when a Span is started. This method is called synchronously on the thread that started the span, therefore it should not block or throw exceptions.

on_end is called after a Span is ended (i.e., the end timestamp is already set). This method is called synchronously within the Span::end API, therefore it should not block or throw an exception.

Force the spans lying in the cache to be exported.

Shuts down the processor. Called when SDK is shut down. This is an opportunity for processors to do any cleanup required.

Implementors