Method: DHC::Prometheus#initialize

Defined in:
lib/dhc/interceptors/prometheus.rb

#initialize(request) ⇒ Prometheus

Returns a new instance of Prometheus.



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/dhc/interceptors/prometheus.rb', line 15

def initialize(request)
  super(request)
  return if DHC::Prometheus.registered || DHC::Prometheus.client.blank?

  begin
    DHC::Prometheus.client.registry.counter(DHC::Prometheus::REQUEST_COUNTER_KEY, 'Counter of all DHC requests.')
    DHC::Prometheus.client.registry.histogram(DHC::Prometheus::REQUEST_HISTOGRAM_KEY, 'Request timings for all DHC requests in seconds.')
  rescue Prometheus::Client::Registry::AlreadyRegisteredError => e
    Rails.logger.error(e) if defined?(Rails)
  ensure
    DHC::Prometheus.registered = true
  end
end