lib/drone/metrics/timer.rb in drone-0.0.1 vs lib/drone/metrics/timer.rb in drone-0.0.2

- old
+ new

@@ -3,26 +3,22 @@ require File.expand_path('..//meter', __FILE__) module Drone module Metrics class Timer + attr_reader :name + def initialize(name = 'calls') + @name = name @histogram = Histogram.new(Histogram::TYPE_BIASED) - @meter = Meter.new(name) clear() end def count @histogram.count end - [:fifteen_minutes_rate, :five_minutes_rate, :mean_rate, :one_minute_rate].each do |attr_name| - define_method(attr_name) do - @meter.send(attr_name) - end - end - # may requires a conversion... or not [:count, :min, :max, :mean, :stdDev, :percentiles, :values].each do |attr_name| define_method(attr_name) do |*args| @histogram.send(attr_name, *args) end @@ -35,27 +31,19 @@ # # duration: milliseconds def update(duration) if duration >= 0 @histogram.update(duration) - @meter.mark() end end # # time and record the duration of the block def time started_at = Time.now.to_f yield() ensure update(Time.now.to_f - started_at.to_f) - end - - - - - def name - @meter.name end end end end