public void run() {
        try {
          monitor.monitor();
        } catch (IOException e) {
          LOGGER.error("Caught IOException during " + monitor.toString() + ".monitor()", e);
        } catch (InterruptedException e) {
          Thread.currentThread().interrupt();
          LOGGER.error("Caught InterruptedException during " + monitor.toString() + ".monitor()", e);
        } catch (Exception e) {
          LOGGER.error("Unexpected exception during {}.monitor()", monitor, e);
        }
      }
The class responsible for handling long-running/scheduled monitors in Samza REST.
Takes a SamzaRestConfig object in the constructor and handles instantiation of
monitors and scheduling them to run based on the properties in the config.
samza-rest/src/main/java/org/apache/samza/monitor/SamzaMonitorService.java