Class: Metrics::Rack::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/metrics/rack/middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, metrics = Metrics::Rails) ⇒ Middleware

Returns a new instance of Middleware.



2
3
4
# File 'lib/metrics/rack/middleware.rb', line 2

def initialize(app, metrics = Metrics::Rails)
  @app, @metrics = app, metrics
end

Instance Method Details

#call(env) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/metrics/rack/middleware.rb', line 6

def call(env)
  @metrics.check_worker if @metrics.send(:forking_server?)

  header_metrics env

  time     = Time.now
  response = @app.call(env)
  duration = (Time.now - time) * 1000.0

  request_metrics response.first, duration

  response
end