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

Version Path
logstash-output-scalyr-0.2.1.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.2.0 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.2.0.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.26.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.25.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.24.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.23.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.22.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.21.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.20.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.19.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.18.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.17.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.16.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.15.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.14.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.13 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.12 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.11.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-scalyr-0.1.10.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/metric_type/mean.rb