class Metric

Attributes

aggregate_function[W]
count[R]
name[RW]
pool_name[RW]
unit[RW]

Public Class Methods

mean(value, count) click to toggle source
# File lib/newrelic_zfs/metric.rb, line 46
def self.mean(value, count)
  if value.nil? || count.nil?
    0
  elsif count == 0
    value
  else
    value.to_f / count
  end
end
new() click to toggle source
# File lib/newrelic_zfs/metric.rb, line 8
def initialize
  @count = 0
  @value = 0
end
sum(value, count) click to toggle source
# File lib/newrelic_zfs/metric.rb, line 56
def self.sum(value, count)
  value
end

Public Instance Methods

add_value(value) click to toggle source
# File lib/newrelic_zfs/metric.rb, line 17
def add_value(value)
  if @aggregate_function.nil?
    @value = value
  else
    @value = @value + value rescue value
    @count = @count + 1
  end
end
is_summary_metric?() click to toggle source
# File lib/newrelic_zfs/metric.rb, line 13
def is_summary_metric?
  !@aggregate_function.nil?
end
newrelic_name() click to toggle source
# File lib/newrelic_zfs/metric.rb, line 38
def newrelic_name
  if is_summary_metric?
    "ZPools/#{@name}"
  else
    "ZPools/#{@name}/#{@pool_name}"
  end
end
raw_value() click to toggle source
# File lib/newrelic_zfs/metric.rb, line 34
def raw_value
  @value
end
set_value(value) click to toggle source
# File lib/newrelic_zfs/metric.rb, line 26
def set_value(value)
  @value = value
end
value() click to toggle source
# File lib/newrelic_zfs/metric.rb, line 30
def value
  @aggregate_function.nil? ? @value : @aggregate_function.call(@value, @count)
end