@Override
  public void run() {
    try {
      while (!stopUpdates && isConnectedFlag()) {
        try {
          if (!updateData()) {
            stale++;
          } else {
            stale = 0;
          }
        } catch (Exception e) {
          logger.info("Exception Occurred while updating cluster data : ", e);
        }

        clusterHasBeenInitialized.countDown();
        try {
          Thread.sleep(POLL_INTERVAL);
        } catch (InterruptedException e) {
          logger.info("InterruptedException Occurred : ", e);
        }
      }

      logger.info("{} :: {}:{}", resourceBundle.getString("LOG_MSG_STOP_THREAD_UPDATES"),
          serverName, port);
    } finally {
      clusterHasBeenInitialized.countDown();
    }
  }
thread run method for updating the cluster data
geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/data/Cluster.java