Module: Monus::BuiltInMetric::EmTicks

Extended by:
EmTicks
Included in:
EmTicks
Defined in:
lib/monus/built_in_metrics/em_ticks.rb

Instance Method Summary collapse

Instance Method Details

#activateObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/monus/built_in_metrics/em_ticks.rb', line 2

def activate
  @interval = Monus.options.dig(:em_ticks_metric_options, :interval) || 1

  counter, time = 0, Time.now

  @tick_loop = EM.tick_loop do
    counter += 1
    delta = Time.now - time
    if delta > @interval
      ticks = (counter.to_f / delta).round
      Fiber.new { Monus.set :em_ticks, ticks }.resume
      counter = 0
      time = Time.now
    end
  end
end