Class: Faraday::Instrumentation

Inherits:
Middleware
  • Object
show all
Includes:
Metrics::MiddlewareHelpers
Defined in:
lib/faraday/instrumentation.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ Instrumentation

Returns a new instance of Instrumentation.



8
9
10
11
# File 'lib/faraday/instrumentation.rb', line 8

def initialize(app, options = {})
  super(app)
  @options = { metric: 'faraday.request', path: false }.merge(options)
end

Instance Method Details

#call(env) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/faraday/instrumentation.rb', line 13

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

  request_metrics response.status, duration, metric: metric, source: source(env)

  response
end