class Travis::Metrics

Constants

MSGS
VERSION

Attributes

reporter[R]

Public Class Methods

new(reporter) click to toggle source
# File lib/travis/metrics.rb, line 38
def initialize(reporter)
  @reporter = reporter
end
setup(config, logger) click to toggle source
# File lib/travis/metrics.rb, line 14
def setup(config, logger)
  unless Metriks.respond_to?(:enable_hdrhistogram)
    raise 'Please ensure that you are using the travis-ci fork of the metriks gem at https://github.com/travis-ci/metriks'
  end
  Metriks.enable_hdrhistogram

  reporter = start(config, logger)
  logger.debug(MSGS[:no_reporter]) unless reporter
  new(reporter)
rescue Exception => e
  logger.error [e.message, e.backtrace].join("\n")
end
start(config, logger) click to toggle source
# File lib/travis/metrics.rb, line 27
def start(config, logger)
  return unless adapter = config[:reporter]
  config   = config[adapter.to_sym] || {}
  const    = Reporter.const_get(adapter.capitalize) rescue nil
  reporter = const && const.new(config, logger)
  reporter.setup && reporter if reporter
end

Public Instance Methods

count(key, value = 1) click to toggle source
# File lib/travis/metrics.rb, line 42
def count(key, value = 1)
  Metriks.counter(key, value).increment
end
gauge(key, value) click to toggle source
# File lib/travis/metrics.rb, line 50
def gauge(key, value)
  Metriks.gauge(key).set(value)
end
meter(key, value = 1) click to toggle source
# File lib/travis/metrics.rb, line 46
def meter(key, value = 1)
  Metriks.meter(key).mark(value)
end
time(key, &block) click to toggle source
# File lib/travis/metrics.rb, line 54
def time(key, &block)
  Metriks.timer(key).time(&block)
end