Sha256: e269e5e7131e07c602c3c0e6f59f0e3871e91f1d10bd7d1536f02aa216cbfa91
Contents?: true
Size: 970 Bytes
Versions: 23
Compression:
Stored size: 970 Bytes
Contents
require 'rubygems' unless defined?(Gem) module Vmpooler class Graphite attr_reader :server, :port, :prefix def initialize(params = {}) if params['server'].nil? || params['server'].empty? raise ArgumentError, "Graphite server is required. Config: #{params.inspect}" end @server = params['server'] @port = params['port'] || 2003 @prefix = params['prefix'] || 'vmpooler' end def increment(label) log label, 1 end def gauge(label, value) log label, value end def timing(label, duration) log label, duration end def log(path, value) Thread.new do socket = TCPSocket.new(server, port) begin socket.puts "#{prefix}.#{path} #{value} #{Time.now.to_i}" ensure socket.close end end rescue => err $stderr.puts "Failure logging #{path} to graphite server [#{server}:#{port}]: #{err}" end end end
Version data entries
23 entries across 23 versions & 1 rubygems