code: func (b *Broker) SelectRemote(dialOpts ...grpc.DialOption) (*Conn, error) {
  	peer, err := b.remotes.Select()
  
  	if err != nil {
  		return nil, err
  	}
  
  	// gRPC dialer connects to proxy first. Provide a custom dialer here avoid that.
  	// TODO(anshul) Add an option to configure this.
  	dialOpts = append(dialOpts,
  		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)
  		}))
  
  	cc, err := grpc.Dial(peer.Addr, dialOpts...)
  	if err != nil {
  		b.remotes.ObserveIfExists(peer, -remotes.DefaultObservationWeight)
  		return nil, err
  	}
  
  	return &Conn{
  		ClientConn: cc,
  		remotes:    b.remotes,
  		peer:       peer,
  	}, nil
  }
docs: // SelectRemote chooses a manager from the remotes, and returns a TCP
  // connection.