Sha256: 59f1e718f2a46b5d1f8a94d23323a98357a96143ffdc44d32fc3e4b1c40af285
Contents?: true
Size: 1009 Bytes
Versions: 5
Compression:
Stored size: 1009 Bytes
Contents
module Faraday class Request::Instrumentation < Faraday::Middleware class Options < Faraday::Options.new(:name, :instrumenter) def name self[:name] ||= 'request.faraday' end def instrumenter self[:instrumenter] ||= ActiveSupport::Notifications end end # Public: Instruments requests using Active Support. # # Measures time spent only for synchronous requests. # # Examples # # 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 def initialize(app, options = nil) super(app) @name, @instrumenter = Options.from(options).values end def call(env) @instrumenter.instrument(@name, env) do @app.call(env) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems