Sha256: 24f4e54ead43aff6055fc5bcc34ee640dadb74a42f6ab57a6b1f65e9ac2b8322
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
require 'new_relic/agent' DependencyDetection.defer do named :faraday depends_on do defined?(::Faraday) end executes do ::NewRelic::Agent.logger.info 'Installing Faraday instrumentation' end executes do Faraday::Connection.class_eval do def run_request_with_newrelic_trace(method, url, params, headers, &block) newrelic_host = parse_host_for_newrelic url metrics = ["External/#{newrelic_host}/Faraday::Connection/#{method}", "External/#{newrelic_host}/all", "External/all"] if NewRelic::Agent::Transaction.recording_web_transaction? metrics << "External/allWeb" else metrics << "External/allOther" end self.class.trace_execution_scoped metrics do run_request_without_newrelic_trace(method, url, params, headers, &block) end end alias run_request_without_newrelic_trace run_request alias run_request run_request_with_newrelic_trace def parse_host_for_newrelic(url) return host if host URI(url).host.to_s rescue '' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
newrelic-faraday-0.7.2 | lib/newrelic_faraday/instrumentation.rb |