class GitLab::Exporter::CLI::Server

Run a web server that exposes the metrics specified in a config file

Constants

COMMAND_NAME

Public Class Methods

new(args) click to toggle source
# File lib/gitlab_exporter/cli.rb, line 166
def initialize(args)
  @options = options(args)
  @options.parse!
end

Public Instance Methods

help() click to toggle source
# File lib/gitlab_exporter/cli.rb, line 180
def help
  @options.help
end
options(args) click to toggle source
# File lib/gitlab_exporter/cli.rb, line 171
def options(args)
  args.options do |opts|
    opts.banner = "Usage: #{EXECUTABLE_NAME} #{COMMAND_NAME} [options]"
    opts.on("-c config.yml", "Monitoring config") do |val|
      @config_file = val
    end
  end
end
run() click to toggle source
# File lib/gitlab_exporter/cli.rb, line 184
def run
  validate!

  config = Utils.deep_symbolize_hash_keys(YAML.load_file(@config_file))

  WebExporter.setup(config)
  WebExporter.run!
end

Private Instance Methods

validate!() click to toggle source
# File lib/gitlab_exporter/cli.rb, line 195
def validate!
  fail InvalidCLICommand.new(help) unless @config_file
end