Method: Faraday::Request::Instrumentation#initialize

Defined in:
lib/faraday/request/instrumentation.rb

#initialize(app, options = nil) ⇒ Instrumentation

Instruments requests using Active Support.

Measures time spent only for synchronous requests.

Examples:

Using ActiveSupport::Notifications to measure time spent

for Faraday requests.
ActiveSupport::Notifications
  .subscribe('request.faraday') do |name, starts, ends, _, env|
  url = env[:url]
  http_method = env[:method].to_s.upcase
  duration = ends - starts
  $stderr.puts '[%s] %s %s (%.3f s)' %
    [url.host, http_method, url.request_uri, duration]
end

Parameters:

  • app (#call)
  • options (nil, Hash) (defaults to: nil)

    Options hash

Options Hash (options):

  • :name (String) — default: 'request.faraday'

    Name of the instrumenter

  • :instrumenter (Class) — default: ActiveSupport::Notifications

    Active Support instrumenter class.



42
43
44
45
46
# File 'lib/faraday/request/instrumentation.rb', line 42

def initialize(app, options = nil)
  super(app)
  @name, @instrumenter = Options.from(options)
                                .values_at(:name, :instrumenter)
end