def perform_with_newrelic_trace(request, options)
wrapped_request = ::NewRelic::Agent::HTTPClients::HTTPRequest.new(request)
begin
segment = NewRelic::Agent::Transaction.start_external_request_segment(
wrapped_request.type, wrapped_request.uri, wrapped_request.method)
segment.add_request_headers wrapped_request
response = perform_without_newrelic_trace(request, options)
wrapped_response = ::NewRelic::Agent::HTTPClients::HTTPResponse.new response
segment.read_response_headers wrapped_response
response
ensure
segment.finish if segment
end
end