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