Sha256: 21f31e223c4591bd043f7ffcd9eb7e2722907b16f6659ec09fc721915a2557e0
Contents?: true
Size: 845 Bytes
Versions: 10
Compression:
Stored size: 845 Bytes
Contents
# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'sqreen/metrics/base' module Sqreen module Metric # This perform an average aggregation class Average < Base # from class attr_accessor :aggregate def update(key, value) super @sums[key] ||= 0 @sums[key] += value @counts[key] ||= 0 @counts[key] += 1 end protected def new_sample(time) super(time) @sums = {} @counts = {} end 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 end end end
Version data entries
10 entries across 10 versions & 1 rubygems