code: private static Observable<PingServiceHealth> pingBinary(
          final NetworkAddress hostname, final String bucket,
          final ClusterFacade core, final long timeout, final TimeUnit timeUnit) {
          final AtomicReference<CouchbaseRequest> request = new AtomicReference<CouchbaseRequest>();
          Observable<NoopResponse> response = Observable.defer(new Func0<Observable<NoopResponse>>() {
              @Override
              public Observable<NoopResponse> call() {
                  CouchbaseRequest r = new NoopRequest(bucket, hostname);
                  request.set(r);
                  return core.send(r);
              }
          }).timeout(timeout, timeUnit);
          return mapToServiceHealth(bucket, ServiceType.BINARY, response, request, timeout, timeUnit);
      }
docs: Pings the service and completes if successful - and fails if it didn't work
  for some reason (reason is in the exception).