Class: Sqreen::Ecosystem::Tracing::Sampler::CallsPrimitive

Inherits:
Object
  • Object
show all
Defined in:
lib/sqreen/ecosystem/tracing/sampler.rb

Instance Method Summary collapse

Constructor Details

#initialize(calls_period) ⇒ CallsPrimitive

Returns a new instance of CallsPrimitive.



65
66
67
68
69
# File 'lib/sqreen/ecosystem/tracing/sampler.rb', line 65

def initialize(calls_period)
  @calls_period = calls_period
  @count = 0
  @mutex = Mutex.new
end

Instance Method Details

#triggers?Boolean

Returns:

  • (Boolean)


71
72
73
74
75
76
77
78
79
# File 'lib/sqreen/ecosystem/tracing/sampler.rb', line 71

def triggers?
  prev_count = nil
  @mutex.synchronize do
    prev_count = @count
    @count += 1
  end

  (prev_count % @calls_period).zero?
end