class Tabs::Metrics::Value::Stats
Attributes
period[R]
resolution[R]
values[R]
Public Class Methods
new(period, resolution, values)
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 11 def initialize(period, resolution, values) @period, @resolution, @values = period, resolution, values end
Public Instance Methods
avg()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 39 def avg return 0 if count.zero? (self.sum.to_f / self.count.to_f).round(Config.decimal_precision) end
count()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 23 def count @count ||= values.map { |v| v["count"] }.sum end
each(&block)
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 44 def each(&block) values.each(&block) end
first()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 15 def first values.first end
last()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 19 def last values.last end
max()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 35 def max @max ||= values.max_by { |v| v["max"] }["max"] end
min()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 31 def min @min ||= values.min_by { |v| v["min"] }["min"] end
sum()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 27 def sum @sum ||= values.map { |v| v["sum"] }.sum end
to_a()
click to toggle source
# File lib/tabs/metrics/value/stats.rb, line 48 def to_a values end