private MetricProvider loadMetricProvider(ConfigRegistry configRegistry) { String providerName = configRegistry.getConfigOrDefault(METRIC_PROVIDER_NAME, DEFAULT_METRIC_PROVIDER_NAME); // Look for MetricProvider implementations Iterator<MetricProvider> metricProviders = ServiceLoader.load(MetricProvider.class).iterator(); while (metricProviders.hasNext()) { MetricProvider temp = metricProviders.next(); if (providerName != null && providerName.equalsIgnoreCase(temp.getName())) { return temp; } } return new NoOpMetricProvider(); }