Sampler

Trait Sampler 

Source
pub trait Sampler<T>: Debug {
    // Required method
    fn is_sampled(&self, span: &CandidateSpan<'_, T>) -> bool;

    // Provided methods
    fn or<U>(self, other: U) -> OrSampler<Self, U>
       where Self: Sized,
             U: Sampler<T> { ... }
    fn and<U>(self, other: U) -> AndSampler<Self, U>
       where Self: Sized,
             U: Sampler<T> { ... }
    fn boxed(self) -> BoxSampler<T>
       where Self: Sized + Send + Sync + 'static { ... }
}
Expand description

Sampler decides whether a new trace should be sampled or not.

Required Methods§

Source

fn is_sampled(&self, span: &CandidateSpan<'_, T>) -> bool

This method decides whether a trace with given span should be sampled.

Provided Methods§

Source

fn or<U>(self, other: U) -> OrSampler<Self, U>
where Self: Sized, U: Sampler<T>,

Returns the sampler that samples a trace if self or other decides to sample it.

Source

fn and<U>(self, other: U) -> AndSampler<Self, U>
where Self: Sized, U: Sampler<T>,

Returns the sampler that samples a trace if both of self and other decides to sample it.

Source

fn boxed(self) -> BoxSampler<T>
where Self: Sized + Send + Sync + 'static,

Converts into BoxSampler.

Implementors§

Source§

impl<A, B, T> Sampler<T> for AndSampler<A, B>
where A: Sampler<T>, B: Sampler<T>,

Source§

impl<A, B, T> Sampler<T> for OrSampler<A, B>
where A: Sampler<T>, B: Sampler<T>,

Source§

impl<T> Sampler<T> for AllSampler

Source§

impl<T> Sampler<T> for NullSampler

Source§

impl<T> Sampler<T> for PassiveSampler

Source§

impl<T> Sampler<T> for ProbabilisticSampler

Source§

impl<T> Sampler<T> for BoxSampler<T>