class Metrics::Statistics::UniformSample
Public Class Methods
new(size = 1028)
click to toggle source
# File lib/ruby-metrics/statistics/uniform_sample.rb, line 4 def initialize(size = 1028) @values = Array.new(size) @size = size clear end
Public Instance Methods
clear()
click to toggle source
# File lib/ruby-metrics/statistics/uniform_sample.rb, line 10 def clear (0...@values.size).each do |i| @values[i] = 0 end @count = 0 end
size()
click to toggle source
# File lib/ruby-metrics/statistics/uniform_sample.rb, line 17 def size @values.size end
update(value)
click to toggle source
# File lib/ruby-metrics/statistics/uniform_sample.rb, line 21 def update(value) if @count < @values.length @values[@count] = value @count += 1 else index = rand(@size) % @count @values[index] = value end end
values()
click to toggle source
# File lib/ruby-metrics/statistics/uniform_sample.rb, line 31 def values @values.dup end