class FnordMetric::Gauge

Public Class Methods

new(opts) click to toggle source
# File lib/fnordmetric/gauge.rb, line 8
def initialize(opts)
  opts.fetch(:key) && opts.fetch(:key_prefix)
  @opts = opts
end

Public Instance Methods

average?() click to toggle source
# File lib/fnordmetric/gauge.rb, line 78
def average?
  !!@opts[:average]
end
error!(msg) click to toggle source
# File lib/fnordmetric/gauge.rb, line 94
def error!(msg)
  FnordMetric.error(msg)
end
group() click to toggle source
# File lib/fnordmetric/gauge.rb, line 34
def group
  @opts[:group] || "Gauges"
end
has_series?() click to toggle source
# File lib/fnordmetric/gauge.rb, line 82
def has_series?
  false
end
key(_append=nil) click to toggle source
# File lib/fnordmetric/gauge.rb, line 46
def key(_append=nil)
  [@opts[:key_prefix], "gauge", name, tick, _append].flatten.compact.join("-")
end
key_nouns() click to toggle source
# File lib/fnordmetric/gauge.rb, line 42
def key_nouns
  @opts[:key_nouns] || ["Key", "Keys"]
end
name() click to toggle source
# File lib/fnordmetric/gauge.rb, line 26
def name
  @opts[:key]
end
progressive?() click to toggle source
# File lib/fnordmetric/gauge.rb, line 70
def progressive?
  !!@opts[:progressive]
end
redis() click to toggle source
# File lib/fnordmetric/gauge.rb, line 86
def redis
  @redis ||= EM::Hiredis.connect(FnordMetric.options[:redis_url]) # FIXPAUL
end
retention() click to toggle source
# File lib/fnordmetric/gauge.rb, line 18
def retention
  tick * 10 # FIXPAUL!
end
retention_key(_time, _append=nil) click to toggle source
# File lib/fnordmetric/gauge.rb, line 58
def retention_key(_time, _append=nil)
  key([tick_at(_time, retention).to_s, _append])
end
sync_redis() click to toggle source
# File lib/fnordmetric/gauge.rb, line 90
def sync_redis
  @sync_redis ||= FnordMetric.mk_redis # FIXPAUL
end
three_dimensional?() click to toggle source
# File lib/fnordmetric/gauge.rb, line 66
def three_dimensional?
  !!@opts[:three_dimensional]
end
tick() click to toggle source
# File lib/fnordmetric/gauge.rb, line 13
def tick
  (@opts[:tick] || @opts[:resolution] || @opts[:flush_interval] ||
    FnordMetric.options[:default_flush_interval]).to_i
end
tick_at(time, _tick=tick) click to toggle source
# File lib/fnordmetric/gauge.rb, line 22
def tick_at(time, _tick=tick)    
  (time/_tick.to_f).floor*_tick
end
tick_key(_time, _append=nil) click to toggle source
# File lib/fnordmetric/gauge.rb, line 50
def tick_key(_time, _append=nil)
  key([(progressive? ? :progressive : tick_at(_time).to_s), _append])
end
tick_keys(_range, _append=nil) click to toggle source
# File lib/fnordmetric/gauge.rb, line 54
def tick_keys(_range, _append=nil)
  ticks_in(_range).map{ |_t| tick_key(_t, _append) }
end
title() click to toggle source
# File lib/fnordmetric/gauge.rb, line 30
def title
  @opts[:title] || name
end
two_dimensional?() click to toggle source
# File lib/fnordmetric/gauge.rb, line 62
def two_dimensional?
  !@opts[:three_dimensional]
end
unique?() click to toggle source
# File lib/fnordmetric/gauge.rb, line 74
def unique?
  !!@opts[:unique]
end
unit() click to toggle source
# File lib/fnordmetric/gauge.rb, line 38
def unit
  @opts[:unit]
end