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