Class: Sqreen::Ecosystem::Tracing::Sampler::TargetPerMinutePrimitive
- Inherits:
-
Object
- Object
- Sqreen::Ecosystem::Tracing::Sampler::TargetPerMinutePrimitive
- Defined in:
- lib/sqreen/ecosystem/tracing/sampler.rb
Instance Method Summary collapse
-
#initialize(max_calls) ⇒ TargetPerMinutePrimitive
constructor
A new instance of TargetPerMinutePrimitive.
- #triggers? ⇒ Boolean
Constructor Details
#initialize(max_calls) ⇒ TargetPerMinutePrimitive
Returns a new instance of TargetPerMinutePrimitive.
109 110 111 112 113 114 |
# File 'lib/sqreen/ecosystem/tracing/sampler.rb', line 109 def initialize(max_calls) @max_calls = max_calls @minute_last_call = cur_minute @calls_accumulated = 0 @mutex = Mutex.new end |
Instance Method Details
#triggers? ⇒ Boolean
116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/sqreen/ecosystem/tracing/sampler.rb', line 116 def triggers? this_minute = cur_minute calls_cur_minute = @mutex.synchronize do if @minute_last_call == this_minute @calls_accumulated += 1 else @minute_last_call = this_minute @calls_accumulated = 1 end end calls_cur_minute <= @max_calls end |