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:

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.