Class: Honeybadger::Rack::MetricsReporter

Inherits:
Object
  • Object
show all
Defined in:
lib/honeybadger/rack/metrics_reporter.rb

Constant Summary collapse

GC_TIME_METRIC =
'app.gc.time'.freeze
GC_COLLECTIONS_METRIC =
'app.gc.collections'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(app, config) ⇒ MetricsReporter

Returns a new instance of MetricsReporter.



9
10
11
12
# File 'lib/honeybadger/rack/metrics_reporter.rb', line 9

def initialize(app, config)
  @app = app
  @config = config
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/honeybadger/rack/metrics_reporter.rb', line 14

def call(env)
  start = Time.now
  track_gc? and GC::Profiler.clear
  status, headers, body = app.call(env)
  duration = (Time.now - start) * 1000
  report_metrics(status, duration)
  [status, headers, body]
end