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