Struct opentelemetry::sdk::trace::BatchSpanProcessor [−][src]
This is supported on crate feature
trace
only.A SpanProcessor
that asynchronously buffers finished spans and reports
them at a preconfigured interval.
Examples
This processor can be configured with an executor
of your choice to
batch and upload spans asynchronously when they end. If you have added a
library like tokio
or async-std
, you can pass in their respective
spawn
and interval
functions to have batching performed in those
contexts.
use futures::{stream}; use opentelemetry::{trace as apitrace, sdk::trace as sdktrace, global, runtime}; use std::time::Duration; #[tokio::main] async fn main() { // Configure your preferred exporter let exporter = apitrace::NoopSpanExporter::new(); // Then build a batch processor. You can use whichever executor you have available, for // example if you are using `async-std` instead of `tokio` you can replace the spawn and // interval functions with `async_std::task::spawn` and `async_std::stream::interval`. let batch = sdktrace::BatchSpanProcessor::builder(exporter, runtime::Tokio) .with_max_queue_size(4096) .build(); // Then use the `with_batch_exporter` method to have the provider export spans in batches. let provider = sdktrace::TracerProvider::builder() .with_batch_exporter(batch) .build(); let _ = global::set_tracer_provider(provider); }
Implementations
impl BatchSpanProcessor
[src]
pub fn builder<E, R>(exporter: E, runtime: R) -> BatchSpanProcessorBuilder<E, R> where
E: SpanExporter,
R: Runtime,
[src]
E: SpanExporter,
R: Runtime,
Create a new batch processor builder
Trait Implementations
impl Debug for BatchSpanProcessor
[src]
impl SpanProcessor for BatchSpanProcessor
[src]
fn on_start(&self, _span: &Span, _cx: &Context)
[src]
fn on_end(&self, span: SpanData)
[src]
fn force_flush(&self) -> TraceResult<()>
[src]
fn shutdown(&mut self) -> TraceResult<()>
[src]
Auto Trait Implementations
impl RefUnwindSafe for BatchSpanProcessor
impl Send for BatchSpanProcessor
impl Sync for BatchSpanProcessor
impl Unpin for BatchSpanProcessor
impl UnwindSafe for BatchSpanProcessor
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,