Sha256: d023c0f9fe9768deb4104afe16513a8406d6a84ecd675e8e3417759e8bace92b

Contents?: true

Size: 1.01 KB

Versions: 89

Compression:

Stored size: 1.01 KB

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_at(:name, :instrumenter)
    end

    def call(env)
      @instrumenter.instrument(@name, env) do
        @app.call(env)
      end
    end
  end
end

Version data entries

89 entries across 81 versions & 10 rubygems

Version Path
faraday-0.17.6 lib/faraday/request/instrumentation.rb
faraday-0.17.5 lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.2.1.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.2.0 vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.2.0.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.26.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.25.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.24.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.23.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.22.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.21.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.20.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.19.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.18.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.17.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.16.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.15.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.14.beta vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.13 vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb
logstash-output-scalyr-0.1.12 vendor/bundle/jruby/2.5.0/gems/faraday-0.15.4/lib/faraday/request/instrumentation.rb