class Riemann::Tools::Memcached

Public Instance Methods

tick() click to toggle source
# File lib/riemann/tools/memcached.rb, line 15
def tick
  sock = TCPSocket.new(opts[:memcached_host], opts[:memcached_port])
  sock.print("stats\r\n")
  sock.flush
  stats = sock.gets

  loop do
    stats = sock.gets
    break if stats.strip == 'END'

    m = stats.match(/STAT (\w+) (\S+)/)
    report(
      host: opts[:memcached_host].dup,
      service: "memcached #{m[1]}",
      metric: m[2].to_f,
      state: 'ok',
      tags: ['memcached'],
    )
  end
  sock.close
end