Sha256: 60f3670bf0c705ec06d7eb3a2047c9fbdae172231343ff3ab00d2ef02412fa75

Contents?: true

Size: 665 Bytes

Versions: 65

Compression:

Stored size: 665 Bytes

Contents

# encoding: utf-8
require "logstash/instrument/metric_type/base"
require "concurrent"

module LogStash module Instrument module MetricType
  class Mean < Base
    def initialize(namespaces, 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

65 entries across 64 versions & 11 rubygems

Version Path
logstash-filter-csharp-0.2.1 vendor/bundle/jruby/2.3.0/gems/logstash-core-5.2.1-java/lib/logstash/instrument/metric_type/mean.rb
logstash-filter-csharp-0.2.0 vendor/bundle/jruby/2.3.0/gems/logstash-core-5.2.1-java/lib/logstash/instrument/metric_type/mean.rb
mrcooper-logstash-output-azuresearch-0.2.2 vendor/jruby/2.5.0/gems/logstash-core-5.0.0-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-icinga-1.1.0 vendor/jruby/1.9/gems/logstash-core-5.2.1-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-icinga-1.1.0 vendor/jruby/2.3.0/gems/logstash-core-5.2.1-java/lib/logstash/instrument/metric_type/mean.rb
logstash-filter-cache-redis-0.1.0 vendor/bundle/jruby/1.9/gems/logstash-core-5.4.0-java/lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.4.3-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.4.2-java lib/logstash/instrument/metric_type/mean.rb
logstash-filter-csharp-0.1.0 vendor/bundle/jruby/2.3.0/gems/logstash-core-5.2.1-java/lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.4.1-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.3.3-java lib/logstash/instrument/metric_type/mean.rb
logstash-filter-htmlentities-0.1.0 vendor/bundle/jruby/1.9/gems/logstash-core-5.4.0-java/lib/logstash/instrument/metric_type/mean.rb
logstash-output-icinga-1.0.0 vendor/jruby/1.9/gems/logstash-core-5.2.1-java/lib/logstash/instrument/metric_type/mean.rb
logstash-core-6.0.0.alpha1-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.4.0-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.3.2-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.3.1-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.3.0-java lib/logstash/instrument/metric_type/mean.rb
logstash-core-5.2.2-java lib/logstash/instrument/metric_type/mean.rb
logstash-input-fifo-0.9.1 vendor/bundle/jruby/1.9/gems/logstash-core-5.1.1.1-java/lib/logstash/instrument/metric_type/mean.rb