Trait opentelemetry::sdk::trace::SpanProcessor [−][src]
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<()>; }
This is supported 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.
fn force_flush(&self) -> TraceResult<()>
fn force_flush(&self) -> TraceResult<()>
Force the spans lying in the cache to be exported.
fn shutdown(&mut self) -> TraceResult<()>
fn shutdown(&mut self) -> TraceResult<()>
Shuts down the processor. Called when SDK is shut down. This is an opportunity for processors to do any cleanup required.