Sha256: 963ebf1625a763f041c9043ca32ffbfdd7f75cb6da3cb4d6602f1b54167f2786
Contents?: true
Size: 1.12 KB
Versions: 9
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true require 'rubygems' unless defined?(Gem) require 'statsd' module Vmpooler class Statsd attr_reader :server, :port, :prefix def initialize(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) end def increment(label) server.increment(prefix + '.' + label) rescue StandardError => e warn "Failure incrementing #{prefix}.#{label} on statsd server [#{server}:#{port}]: #{e}" end def gauge(label, value) server.gauge(prefix + '.' + label, value) rescue StandardError => e warn "Failure updating gauge #{prefix}.#{label} on statsd server [#{server}:#{port}]: #{e}" end def timing(label, duration) server.timing(prefix + '.' + label, duration) rescue StandardError => e warn "Failure updating timing #{prefix}.#{label} on statsd server [#{server}:#{port}]: #{e}" end end end
Version data entries
9 entries across 9 versions & 1 rubygems