code: func InstrumentedRoundTripper(roundTripper http.RoundTripper, emitter EventEmitter) http.RoundTripper {
  	irt := &instrumentedRoundTripper{roundTripper, emitter}
  
  	_, ok := roundTripper.(canceler)
  	if ok {
  		return &instrumentedCancelableRoundTripper{
  			instrumentedRoundTripper: irt,
  		}
  	}
  
  	return irt
  }
docs: // InstrumentedRoundTripper is a helper for creating a "net/http".RoundTripper
  // which will delegate to the given RoundTripper.