class Zipkin::Samplers::Probabilistic

Probabilistic sampler

Sample a portion of traces using trace_id as the random decision

Public Class Methods

new(rate: 0.001) click to toggle source
# File lib/zipkin/samplers/probabilistic.rb, line 9
def initialize(rate: 0.001)
  if rate < 0.0 || rate > 1.0
    raise "Sampling rate must be between 0.0 and 1.0, got #{rate.inspect}"
  end
  @boundary = TraceId::TRACE_ID_UPPER_BOUND * rate
end

Public Instance Methods

sample?(trace_id:, **) click to toggle source
# File lib/zipkin/samplers/probabilistic.rb, line 16
def sample?(trace_id:, **)
  @boundary >= trace_id.to_i(16)
end