module OpenCensus::Trace::Samplers
A sampler determines whether a given request's latency trace should actually be reported. It is usually not necessary to trace every request, especially for an application serving heavy traffic. You may use a sampler to decide, for a given request, whether to report its trace.
The OpenCensus
specification defines four samplers: {OpenCensus::Trace::Samplers::AlwaysSample}, {OpenCensus::Trace::Samplers::NeverSample}, {OpenCensus::Trace::Samplers::Probability}, and {OpenCensus::Trace::Samplers::RateLimiting}.
A sampler is a `Proc` that takes a hash of environment information and returns a boolean indicating whether or not to sample the current request. Alternately, it could be an object that duck-types the `Proc` interface by implementing the `call` method. The hash passed to `call` may contain the following keys, all of which are optional. Samplers
must adjust their behavior to account for the availability or absence of any environment information:
-
`span_context` The {OpenCensus::Trace::SpanContext} that created the
span being sampled.
-
`rack_env` The hash of Rack environment information
Applications may set a default sampler in the config. In addition, the sampler may be overridden whenever a span is created.
Constants
- MaxQPS
The
RateLimiting
sampler delays a minimum amount of time between each sample, enforcing a maximum QPS across traces that use this sampler.