def request_with_newrelic_trace(request, *args, &block)
wrapped_request = NewRelic::Agent::HTTPClients::NetHTTPRequest.new(self, request)
segment = NewRelic::Agent::Transaction.start_external_request_segment(
wrapped_request.type, wrapped_request.uri, wrapped_request.method)
begin
response = nil
segment.add_request_headers wrapped_request
NewRelic::Agent.disable_all_tracing do
response = request_without_newrelic_trace( request, *args, &block )
end
segment.read_response_headers response
response
ensure
segment.finish
end
end