class ElasticAPM::Spies::HTTPSpy

def perform(req, options)

def perform(req, options)
  unless (transaction = ElasticAPM.current_transaction)
    return perform_without_apm(req, options)
  end
  method = req.verb.to_s.upcase
  host = req.uri.host
  name = "#{method} #{host}"
  type = "ext.http_rb.#{method}"
  ElasticAPM.with_span name, type do |span|
    trace_context = span&.trace_context || transaction.trace_context
    req['Elastic-Apm-Traceparent'] = trace_context.to_header
    perform_without_apm(req, options)
  end
end