Sha256: 2261b68fcd51061fe1ae2d583e1694e805a52951e8063411a2a6f9529e31eca8
Contents?: true
Size: 832 Bytes
Versions: 141
Compression:
Stored size: 832 Bytes
Contents
# Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.io/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(_at, 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
141 entries across 141 versions & 2 rubygems