Trait rustracing::sampler::Sampler
[−]
[src]
pub trait Sampler<T> { fn is_sampled(&self, span: &CandidateSpan<T>) -> bool; 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 + 'static, { ... } }
Sampler
decides whether a new trace should be sampled or not.
Required Methods
fn is_sampled(&self, span: &CandidateSpan<T>) -> bool
This method decides whether a trace with given span
should be sampled.
Provided Methods
fn or<U>(self, other: U) -> OrSampler<Self, U> where
Self: Sized,
U: Sampler<T>,
Self: Sized,
U: Sampler<T>,
Returns the sampler that samples a trace if self
or other
decides to sample it.
fn and<U>(self, other: U) -> AndSampler<Self, U> where
Self: Sized,
U: Sampler<T>,
Self: Sized,
U: Sampler<T>,
Returns the sampler that samples a trace if both of self
and other
decides to sample it.
fn boxed(self) -> BoxSampler<T> where
Self: Sized + Send + 'static,
Self: Sized + Send + 'static,
Converts into BoxSampler
.
Implementors
impl<T> Sampler<T> for BoxSampler<T>
impl<T> Sampler<T> for ProbabilisticSampler
impl<T> Sampler<T> for PassiveSampler
impl<T> Sampler<T> for NoopSampler
impl<T> Sampler<T> for AllSampler
impl<A, B, T> Sampler<T> for OrSampler<A, B> where
A: Sampler<T>,
B: Sampler<T>,impl<A, B, T> Sampler<T> for AndSampler<A, B> where
A: Sampler<T>,
B: Sampler<T>,