class Metrux::Commands::Timer

Constants

TIMER_MEASUREMENT_PREFIX_KEY

Public Instance Methods

execute(key, params = {}) { || ... } click to toggle source
# File lib/metrux/commands/timer.rb, line 6
def execute(key, params = {})
  key = "#{TIMER_MEASUREMENT_PREFIX_KEY}#{key}"

  result, duration = if block_given?
                       calculate_duration { yield }
                     else
                       [nil, params.fetch(:duration)]
                     end

  write(key, format_data(duration, params), format_write_options(params))

  result
end

Private Instance Methods

calculate_duration() { || ... } click to toggle source
# File lib/metrux/commands/timer.rb, line 22
def calculate_duration
  started_at = Time.now
  result = yield
  duration = ((Time.now - started_at) * 1_000).ceil
  [result, duration]
end