Method: DHC::Prometheus#after_response

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

#after_responseObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/dhc/interceptors/prometheus.rb', line 29

def after_response
  return if !DHC::Prometheus.registered || DHC::Prometheus.client.blank?

  host = URI.parse(request.url).host

  DHC::Prometheus.client.registry
    .get(DHC::Prometheus::REQUEST_COUNTER_KEY)
    .increment(
      code: response.code,
      success: response.success?,
      timeout: response.timeout?,
      host: host,
      app: DHC::Prometheus.namespace
    )

  DHC::Prometheus.client.registry
    .get(DHC::Prometheus::REQUEST_HISTOGRAM_KEY)
    .observe({
               host: host,
               app: DHC::Prometheus.namespace
             }, response.time)
end