Module: Monus::BuiltInMetric::EmTicks
Instance Method Summary collapse
Instance Method Details
#activate ⇒ Object
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..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 |