class Naplug::Helpers::ENGraphite::Client
Attributes
metrics[R]
Public Class Methods
new(options)
click to toggle source
# File lib/naplug/helpers.rb, line 39 def initialize(options) raise ArgumentError, 'missing graphite server address' if options[:graphite].nil? @graphite = options[:graphite] @port = options[:port].nil? ? 2003 : options[:port].to_i @prefix = options[:prefix].nil? ? '' : options[:prefix] @metrics = [] end
Public Instance Methods
flush!(options = { :timeout => 3})
click to toggle source
# File lib/naplug/helpers.rb, line 58 def flush!(options = { :timeout => 3}) begin Timeout.timeout(options[:timeout]) do s = TCPSocket.open(@graphite,@port) @metrics.each do |metric| metric = "#{@prefix}.#{metric.to_s}\n" s.write metric end s.close end rescue Timeout::Error => e raise Naplug::Error, "graphite timeout (#{options[:timeout]}s)" rescue Errno::ECONNREFUSED, SocketError => e raise Naplug::Error, 'graphite socket error' end end
metric(path, value, time = Time.now)
click to toggle source
# File lib/naplug/helpers.rb, line 47 def metric path, value, time = Time.now @metrics.push(Metric.new(path,value,time)) end
metrics!()
click to toggle source
# File lib/naplug/helpers.rb, line 51 def metrics! @metrics.each do |metric| metric = "#{@prefix}.#{metric.to_s}\n" print metric end end