Sha256: fdc32beba6b6911ec3bf9e5f3d02c9088fcb97dde0b550690029417711b0824c

Contents?: true

Size: 426 Bytes

Versions: 7

Compression:

Stored size: 426 Bytes

Contents

module QueueMetricTracker
  class StatCalculator
    attr_accessor :count, :sum, :granularity

    def initialize(granularity = 100)
      @granularity = granularity
      @sum = 0
      @count = 0
    end

    def add(value)
      @sum   += value
      @count += 1

      if @count == granularity
        value = @sum / granularity
        @sum = @count = 0
        return value
      end

      return nil
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
nexia_worker_roulette-0.2.9 lib/worker_roulette/stat_calculator.rb
nexia_worker_roulette-0.2.8 lib/worker_roulette/stat_calculator.rb
nexia_worker_roulette-0.2.7 lib/worker_roulette/stat_calculator.rb
nexia_worker_roulette-0.2.6 lib/worker_roulette/stat_calculator.rb
nexia_worker_roulette-0.2.5 lib/worker_roulette/stat_calculator.rb
nexia_worker_roulette-0.2.4 lib/worker_roulette/stat_calculator.rb
nexia_worker_roulette-0.2.3 lib/worker_roulette/stat_calculator.rb