code: func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
  	span, ctx := opentracing.StartSpanFromContext(req.Context(), "PerformRequest")
  	req = req.WithContext(ctx)
  	defer span.Finish()
  
  	ext.Component.Set(span, "github.com/olivere/elastic/v7")
  	ext.HTTPUrl.Set(span, req.URL.String())
  	ext.HTTPMethod.Set(span, req.Method)
  	ext.PeerHostname.Set(span, req.URL.Hostname())
  	ext.PeerPort.Set(span, atouint16(req.URL.Port()))
  
  	var (
  		resp *http.Response
  		err  error
  	)
  	if t.rt != nil {
  		resp, err = t.rt.RoundTrip(req)
  	} else {
  		resp, err = http.DefaultTransport.RoundTrip(req)
  	}
  	if err != nil {
  		ext.Error.Set(span, true)
  	}
  	if resp != nil {
  		ext.HTTPStatusCode.Set(span, uint16(resp.StatusCode))
  	}
  
  	return resp, err
  }
docs: // RoundTrip captures the request and starts an OpenTracing span
  // for Elastic PerformRequest operation.