Sha256: f95811aff95ea9498939057d141e5d9e3b05b8329cd7418cdf7d485173ca4905
Contents?: true
Size: 878 Bytes
Versions: 57
Compression:
Stored size: 878 Bytes
Contents
# encoding: utf-8 require "logstash/instrument/metric_type/base" require "concurrent" module LogStash module Instrument module MetricType class Mean < Base include ::LogStash::Util::Loggable def initialize(namespaces, key) logger.warn("Deprecated 'mean' metric type used! This will be removed in Logstash 6.0!", :namespaces => namespaces, :key => key) super(namespaces, key) @counter = Concurrent::AtomicFixnum.new @sum = Concurrent::AtomicFixnum.new end def increment(value = 1) @counter.increment @sum.increment(value) end def decrement(value = 1) @counter.decrement @sum.decrement(value) end def mean if @counter > 0 @sum.value / @counter.value else 0 end end alias_method :value, :mean end end; end; end
Version data entries
57 entries across 57 versions & 6 rubygems