Sha256: a739cd69cfe96c551694043870d0631ce8388364c33681f05dfaf8c0cda6887c
Contents?: true
Size: 1.38 KB
Versions: 3
Compression:
Stored size: 1.38 KB
Contents
#!/usr/bin/env ruby require 'optparse' require_relative "./../lib/prometheus_exporter" require_relative "./../lib/prometheus_exporter/server" def run port = PrometheusExporter::DEFAULT_PORT prefix = "ruby_" collector = nil verbose = false OptionParser.new do |opt| opt.on('-p', '--port INTEGER', Integer, "Port exporter should listen on (default: #{port})") do |o| port = o.to_i end opt.on('--prefix METRIC_PREFIX', String, "Prefix to apply to all metrics (default: #{prefix})") do |o| prefix = o.to_s end opt.on('-c', '--collector CUSTOM_COLLECTOR', String, "(optional) Custom collector to run") do |o| collector = o.to_s end opt.on('-v', '--verbose') do |o| verbose = true end end.parse! PrometheusExporter::Metric::Base.default_prefix = prefix if collector eval File.read(collector) ObjectSpace.each_object(Class) do |klass| if klass < PrometheusExporter::Server::CollectorBase collector = klass end end if !collector STDERR.puts "Can not find a class inheriting off PrometheusExporter::Server::Collector" usage exit 1 end end puts "#{Time.now} Starting prometheus exporter on port #{port}" server = PrometheusExporter::Server::WebServer.new port: port, collector: collector&.new, verbose: verbose server.start sleep end run
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
prometheus_exporter-0.1.9 | bin/prometheus_exporter |
prometheus_exporter-0.1.8 | bin/prometheus_exporter |
prometheus_exporter-0.1.7 | bin/prometheus_exporter |