class Vmpooler::Metrics::Statsd

Attributes

port[R]
prefix[R]
server[R]

Public Class Methods

new(logger, params = {}) click to toggle source

rubocop:disable Lint/MissingSuper

# File lib/vmpooler/metrics/statsd.rb, line 12
def initialize(logger, params = {})
  raise ArgumentError, "Statsd server is required. Config: #{params.inspect}" if params['server'].nil? || params['server'].empty?

  host    = params['server']
  @port   = params['port'] || 8125
  @prefix = params['prefix'] || 'vmpooler'
  @server = ::Statsd.new(host, @port)
  @logger = logger
end

Public Instance Methods

gauge(label, value) click to toggle source
# File lib/vmpooler/metrics/statsd.rb, line 29
def gauge(label, value)
  server.gauge("#{prefix}.#{label}", value)
rescue StandardError => e
  @logger.log('s', "[!] Failure updating gauge #{prefix}.#{label} on statsd server [#{server}:#{port}]: #{e}")
end
increment(label) click to toggle source

rubocop:enable Lint/MissingSuper

# File lib/vmpooler/metrics/statsd.rb, line 23
def increment(label)
  server.increment("#{prefix}.#{label}")
rescue StandardError => e
  @logger.log('s', "[!] Failure incrementing #{prefix}.#{label} on statsd server [#{server}:#{port}]: #{e}")
end
timing(label, duration) click to toggle source
# File lib/vmpooler/metrics/statsd.rb, line 35
def timing(label, duration)
  server.timing("#{prefix}.#{label}", duration)
rescue StandardError => e
  @logger.log('s', "[!] Failure updating timing #{prefix}.#{label} on statsd server [#{server}:#{port}]: #{e}")
end