public static List<PreparableReporter> getPreparableReporters(Map<String, Object> daemonConf) {
        List<String> clazzes = (List<String>) daemonConf.get(DaemonConfig.STORM_DAEMON_METRICS_REPORTER_PLUGINS);
        List<PreparableReporter> reporterList = new ArrayList<>();

        if (clazzes != null) {
            for (String clazz : clazzes) {
                reporterList.add(getPreparableReporter(clazz));
            }
        }
        if (reporterList.isEmpty()) {
            reporterList.add(new JmxPreparableReporter());
        }
        return reporterList;
    }
@Test
    public void getPreparableReporters() {
        Map<String, Object> daemonConf = new HashMap<>();

        List<PreparableReporter> reporters = MetricsUtils.getPreparableReporters(daemonConf);
        assertEquals(1, reporters.size());
        assertTrue(reporters.get(0) instanceof JmxPreparableReporter);

        List<String> reporterPlugins = Arrays.asList("org.apache.storm.daemon.metrics.reporters.ConsolePreparableReporter",
            "org.apache.storm.daemon.metrics.reporters.CsvPreparableReporter");

        daemonConf.put(DaemonConfig.STORM_DAEMON_METRICS_REPORTER_PLUGINS, reporterPlugins);
        reporters = MetricsUtils.getPreparableReporters(daemonConf);
        assertEquals(2, reporters.size());
        assertTrue(reporters.get(0) instanceof ConsolePreparableReporter);
        assertTrue(reporters.get(1) instanceof CsvPreparableReporter);
    }