code: func dial(addr string, protocol string, creds credentials.TransportCredentials, timeout time.Duration) (*grpc.ClientConn, error) {
  	// gRPC dialer connects to proxy first. Provide a custom dialer here avoid that.
  	grpcOptions := []grpc.DialOption{
  		grpc.WithBackoffMaxDelay(2 * time.Second),
  		grpc.WithTransportCredentials(creds),
  		grpc.WithUnaryInterceptor(grpc_prometheus.UnaryClientInterceptor),
  		grpc.WithStreamInterceptor(grpc_prometheus.StreamClientInterceptor),
  		grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) {
  			return net.DialTimeout("tcp", addr, timeout)
  		}),
  	}
  
  	if timeout != 0 {
  		grpcOptions = append(grpcOptions, grpc.WithTimeout(timeout))
  	}
  
  	return grpc.Dial(addr, grpcOptions...)
  }
docs: // dial returns a grpc client connection