class MetricsInflux::CLI

Public Instance Methods

collect() click to toggle source
# File lib/metrics_influx/cli.rb, line 18
def collect
  setup_logging
  read_config
  Daemons.daemonize if options[:daemonize]
  begin
    engine.run!
  rescue SignalException => e
    case Signal.signame(e.signo)
    when "TERM", "INT"
      MetricsInflux.logger.info "Received SIGTERM/SIGINT, shutting down."
      exit 0
    else
      MetricsInflux.logger.fatal "Fatal unhandled signal in event loop: #{Signal.signame(e.signo)}"
      e.backtrace.each { |line| MetricsInflux.logger.fatal " #{line}" }
    end
  rescue Exception => e
    MetricsInflux.logger.fatal "Fatal unhandled exception in event loop: #{e.class.name} -> #{e.message}"
    e.backtrace.each { |line| MetricsInflux.logger.fatal " #{line}" }
    exit 1
  end
end
engine() click to toggle source
# File lib/metrics_influx/cli.rb, line 41
def engine
  @engine ||= begin
    engine = MetricsInflux::Engine.new(options, @config)
    engine
  end
end
read_config() click to toggle source
# File lib/metrics_influx/cli.rb, line 61
def read_config
  begin
    @config = YAML.load_file(options[:config])
  rescue SyntaxError => e
    MetricsInflux.logger.fatal "Error loading config: #{e.message}"
    exit 1
  end
end
setup_logging() click to toggle source
# File lib/metrics_influx/cli.rb, line 48
def setup_logging
  case options[:log]
  when "syslog"
    @logger = Syslog::Logger.new('metrics-influx')
  when "-"
    @logger = Logger.new(STDOUT)
  else
    @logger = Logger.new(options[:log])
  end
  @logger.level = options[:debug] ? Logger::DEBUG : Logger::INFO
  MetricsInflux.logger=(@logger)
end