@Override
    public void reportConsumerRunningInfo(TreeMap<String, ConsumerRunningInfo> criTable) {

        {
            boolean result = ConsumerRunningInfo.analyzeSubscription(criTable);
            if (!result) {
                logger.info(String.format(LOG_NOTIFY
                    + "reportConsumerRunningInfo: ConsumerGroup: %s, Subscription different", criTable
                    .firstEntry().getValue().getProperties().getProperty("consumerGroup")));
            }
        }

        {
            Iterator<Entry<String, ConsumerRunningInfo>> it = criTable.entrySet().iterator();
            while (it.hasNext()) {
                Entry<String, ConsumerRunningInfo> next = it.next();
                String result = ConsumerRunningInfo.analyzeProcessQueue(next.getKey(), next.getValue());
                if (!result.isEmpty()) {
                    logger.info(String.format(LOG_NOTIFY
                            + "reportConsumerRunningInfo: ConsumerGroup: %s, ClientId: %s, %s",
                        criTable.firstEntry().getValue().getProperties().getProperty("consumerGroup"),
                        next.getKey(),
                        result));
                }
            }
        }
    }
@Test
    public void testReportConsumerRunningInfo() {
        TreeMap<String, ConsumerRunningInfo> criTable = new TreeMap<>();
        ConsumerRunningInfo consumerRunningInfo = new ConsumerRunningInfo();
        consumerRunningInfo.setSubscriptionSet(new TreeSet<>());
        consumerRunningInfo.setStatusTable(new TreeMap<>());
        consumerRunningInfo.setSubscriptionSet(new TreeSet<>());
        consumerRunningInfo.setMqTable(new TreeMap<>());
        consumerRunningInfo.setProperties(new Properties());
        criTable.put("test", consumerRunningInfo);
        defaultMonitorListener.reportConsumerRunningInfo(criTable);
    }