logo
pub struct SimpleSpanProcessor { /* private fields */ }
Expand description

A SpanProcessor that exports synchronously when spans are finished.

Examples

Note that the simple processor exports synchronously every time a span is ended. If you find this limiting, consider the batch processor instead.

use opentelemetry::{trace::noop::NoopSpanExporter, sdk, global};

// Configure your preferred exporter
let exporter = NoopSpanExporter::new();

// Then use the `with_simple_exporter` method to have the provider export when spans finish.
let provider = sdk::trace::TracerProvider::builder()
    .with_simple_exporter(exporter)
    .build();

let previous_provider = global::set_tracer_provider(provider);

Trait Implementations

Formats the value using the given formatter. Read more
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. Read more
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. Read more
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. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.