public void startReporting() {
        if (reporterName.equalsIgnoreCase("console")) {
            reporter = ConsoleReporter.forRegistry(metricRegistry)
                    .convertRatesTo(TimeUnit.SECONDS)
                    .convertDurationsTo(TimeUnit.MILLISECONDS)
                    .build();
            ((ConsoleReporter) reporter).start(interval, TimeUnit.SECONDS);
        } else if (reporterName.equalsIgnoreCase("jmx")) {
            reporter = JmxReporter.forRegistry(metricRegistry)
                    .convertRatesTo(TimeUnit.SECONDS)
                    .convertDurationsTo(TimeUnit.MILLISECONDS)
                    .build();
            ((JmxReporter) reporter).start();
        } else {
            throw new UnsupportedOperationException("Only 'ConsoleReporter' and 'JmxReporter' is supported, Reporter " +
                    "type '" + reporter.getClass().getName() + "' is not supported");
        }
    }
Each siddhi app will have one metric registry and placed in siddhi app context
modules/siddhi-core/src/main/java/io/siddhi/core/util/statistics/metrics/SiddhiStatisticsManager.java