function requestCreateHook(shim, { request }) {
  const { config } = shim.agent
  const { transaction, segment } = shim.tracer.getContext()
  request[symbols.parentSegment] = segment
  request[symbols.transaction] = transaction
  if (!(segment || transaction) || segment?.opaque) {
    logger.trace(
      'Not capturing data for outbound request (%s) because parent segment opaque (%s)',
      request.path,
      segment?.name
    )

    return
  }

  try {
    createExternalSegment({ shim, request, segment })
    addDTHeaders({ transaction, config, request })
  } catch (err) {
    logger.warn(err, 'Unable to create external segment')
  }
}
This event occurs after the Undici Request is created.
We will check current segment for opaque before creating the
external segment with the standard url/procedure/request.parameters
attributes.  We will also attach relevant DT headers to outgoing http request.

@param {Shim} shim instance of shim
@param {object} params object from undici hook
@param {object} params.request undici request object