class Sqreen::Metric::Average
This perform an average aggregation
Public Instance Methods
update(key, value)
click to toggle source
from class attr_accessor :aggregate
Calls superclass method
# File lib/sqreen/metrics/average.rb, line 14 def update(key, value) super @sums[key] ||= 0 @sums[key] += value @counts[key] ||= 0 @counts[key] += 1 end
Protected Instance Methods
finalize_sample(time)
click to toggle source
Calls superclass method
# File lib/sqreen/metrics/average.rb, line 30 def finalize_sample(time) super(time) @sample[FINISH_KEY] = time h = {} @sums.each do |k, v| h[k] = v.to_f / @counts[k] end @sample[OBSERVATION_KEY] = h end
new_sample(time)
click to toggle source
Calls superclass method
# File lib/sqreen/metrics/average.rb, line 24 def new_sample(time) super(time) @sums = {} @counts = {} end