Class: Jaeger::Client::Samplers::Probabilistic

Inherits:
Object
  • Object
show all
Defined in:
lib/jaeger/client/samplers/probabilistic.rb

Overview

Probabilistic sampler

Sample a portion of traces using trace_id as the random decision

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rate: 0.001) ⇒ Probabilistic

Returns a new instance of Probabilistic.



10
11
12
13
14
15
16
# File 'lib/jaeger/client/samplers/probabilistic.rb', line 10

def initialize(rate: 0.001)
  @param = rate.to_s
  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

Instance Attribute Details

#paramObject (readonly)

Returns the value of attribute param.



26
27
28
# File 'lib/jaeger/client/samplers/probabilistic.rb', line 26

def param
  @param
end

Instance Method Details

#sample?(trace_id) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/jaeger/client/samplers/probabilistic.rb', line 18

def sample?(trace_id)
  @boundary >= trace_id
end

#typeObject



22
23
24
# File 'lib/jaeger/client/samplers/probabilistic.rb', line 22

def type
  'probabilistic'
end