Class: Jaeger::Client::Samplers::Probabilistic
- Inherits:
-
Object
- Object
- Jaeger::Client::Samplers::Probabilistic
- 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
-
#param ⇒ Object
readonly
Returns the value of attribute param.
Instance Method Summary collapse
-
#initialize(rate: 0.001) ⇒ Probabilistic
constructor
A new instance of Probabilistic.
- #sample?(trace_id) ⇒ Boolean
- #type ⇒ Object
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
#param ⇒ Object (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
18 19 20 |
# File 'lib/jaeger/client/samplers/probabilistic.rb', line 18 def sample?(trace_id) @boundary >= trace_id end |
#type ⇒ Object
22 23 24 |
# File 'lib/jaeger/client/samplers/probabilistic.rb', line 22 def type 'probabilistic' end |