Class: Evil::Metrics::Prometheus::Exporter

Inherits:
Prometheus::Middleware::Exporter
  • Object
show all
Defined in:
lib/evil/metrics/prometheus/exporter.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.start_metrics_server!Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/evil/metrics/prometheus/exporter.rb', line 10

def start_metrics_server!
  Thread.new do
    default_port = ENV.fetch("PORT", 9310)
    Rack::Handler::WEBrick.run(
      rack_app,
      Host: ENV["PROMETHEUS_EXPORTER_BIND"] || "0.0.0.0",
      Port: ENV.fetch("PROMETHEUS_EXPORTER_PORT", default_port),
      AccessLog: [],
    )
  end
end

Instance Method Details

#call(env) ⇒ Object



36
37
38
39
40
41
# File 'lib/evil/metrics/prometheus/exporter.rb', line 36

def call(env)
  if env["REQUEST_PATH"].start_with?(path)
    Evil::Metrics.collectors.each(&:call)
  end
  super
end