private void createAndStartReportingTimer()

in functions/CDDBenchmarkJava/src/main/java/com/amazonaws/greengrass/cddbenchmark/handlers/StartupHandler.java [45:72]


    private void createAndStartReportingTimer() {
        Timer timer = new Timer(true);
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                try {
                    long endTime = System.nanoTime();
                    double messagesPerSecond;
                    double seconds = (endTime - startTime) / 1000.0;

                    Map<String, Number> map = new HashMap<>();

                    messagesPerSecond = (messagesPublished.doubleValue() / seconds);

                    map.put("messagesPublished", messagesPublished.get());
                    map.put("errors", errors);

                    map.put("messagesPerSecond", messagesPerSecond);
                    map.put("seconds", seconds);

                    dispatcher.publishObjectEvent(topics.getResultsTopic(), map);
                } catch (Exception e) {
                    log.error(e.getMessage());
                    e.printStackTrace();
                }
            }
        }, START_DELAY_MS, PERIOD_MS);
    }