pub enum TraceSampler {
AlwaysOn,
AlwaysOff,
TraceIdRatio(f64),
ParentBased(Box<TraceSampler>),
}Expand description
Trace sampler configuration.
Controls how many traces are sampled. When no explicit sampler is passed to
init_telemetry_with_sampler, the library falls back to the
OTEL_TRACES_SAMPLER / OTEL_TRACES_SAMPLER_ARG environment variables,
and finally to TraceSampler::AlwaysOn for backward compatibility.
§Example
use otel_bootstrap::TraceSampler;
// Sample 10 % of root spans; inherit parent decision for child spans.
let sampler = TraceSampler::ParentBased(Box::new(TraceSampler::TraceIdRatio(0.1)));Variants§
AlwaysOn
Record every trace (the default).
AlwaysOff
Never record any trace.
TraceIdRatio(f64)
Sample a fraction of traces. ratio must be between 0.0 and 1.0.
ParentBased(Box<TraceSampler>)
Respect the parent span’s sampling decision; use the given sampler for root spans (spans without a remote parent).
Trait Implementations§
Source§impl Clone for TraceSampler
impl Clone for TraceSampler
Source§fn clone(&self) -> TraceSampler
fn clone(&self) -> TraceSampler
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TraceSampler
impl RefUnwindSafe for TraceSampler
impl Send for TraceSampler
impl Sync for TraceSampler
impl Unpin for TraceSampler
impl UnsafeUnpin for TraceSampler
impl UnwindSafe for TraceSampler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request