class DDMetrics::Stats
Public Class Methods
new(values)
click to toggle source
# File lib/ddmetrics/stats.rb, line 11 def initialize(values) @values = values end
Public Instance Methods
avg()
click to toggle source
# File lib/ddmetrics/stats.rb, line 28 def avg sum.to_f / count end
count()
click to toggle source
# File lib/ddmetrics/stats.rb, line 19 def count @values.size end
inspect()
click to toggle source
# File lib/ddmetrics/stats.rb, line 15 def inspect "<#{self.class} count=#{count}>" end
max()
click to toggle source
# File lib/ddmetrics/stats.rb, line 36 def max quantile(1.0) end
min()
click to toggle source
# File lib/ddmetrics/stats.rb, line 32 def min quantile(0.0) end
quantile(fraction)
click to toggle source
# File lib/ddmetrics/stats.rb, line 40 def quantile(fraction) raise EmptyError if @values.empty? target = (@values.size - 1) * fraction.to_f interp = target % 1.0 sorted_values[target.floor] * (1.0 - interp) + sorted_values[target.ceil] * interp end
sum()
click to toggle source
# File lib/ddmetrics/stats.rb, line 23 def sum raise EmptyError if @values.empty? @values.reduce(:+) end
Private Instance Methods
sorted_values()
click to toggle source
# File lib/ddmetrics/stats.rb, line 50 def sorted_values @sorted_values ||= @values.sort end