Sha256: 7a5830739a0898f51e9fa62abadf7108d17c845381740c1f102298e4dc274290

Contents?: true

Size: 831 Bytes

Versions: 3

Compression:

Stored size: 831 Bytes

Contents

DependencyDetection.defer do
  depends_on do
    defined?(Net) && defined?(Net::HTTP)
  end
  
  executes do
    NewRelic::Agent.logger.debug 'Installing Net instrumentation'
  end
  
  executes do
    Net::HTTP.class_eval do
      def request_with_newrelic_trace(*args, &block)
        metrics = ["External/#{@address}/Net::HTTP/#{args[0].method}", "External/#{@address}/all", "External/all"]
        if NewRelic::Agent::Instrumentation::MetricFrame.recording_web_transaction?
          metrics << "External/allWeb"
        else
          metrics << "External/allOther"
        end
        self.class.trace_execution_scoped metrics do
          request_without_newrelic_trace(*args, &block)
        end
      end
      alias request_without_newrelic_trace request
      alias request request_with_newrelic_trace
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
newrelic_rpm-3.1.2 lib/new_relic/agent/instrumentation/net.rb
newrelic_rpm-3.1.2.beta2 lib/new_relic/agent/instrumentation/net.rb
newrelic_rpm-3.1.2.beta1 lib/new_relic/agent/instrumentation/net.rb