private MetricReporter loadMetricReporter(ConfigRegistry configRegistry) { String reporterName = configRegistry.getConfigOrDefault(METRIC_REPORTER_NAME, DEFAULT_METRIC_REPORTER_NAME); // Look for MetricProvider implementations Iterator<MetricReporter> metricReporters = ServiceLoader.load(MetricReporter.class).iterator(); while (metricReporters.hasNext()) { MetricReporter temp = metricReporters.next(); if (reporterName != null && reporterName.equalsIgnoreCase(temp.getName())) { return temp; } } return new NoOpMetricReporter(); }