in safeguard-impl/src/main/java/org/apache/safeguard/impl/metrics/FaultToleranceMetrics.java [50:66]
static FaultToleranceMetrics create(final GeronimoFaultToleranceConfig config) {
if ("false".equalsIgnoreCase(config.read("MP_Fault_Tolerance_Metrics_Enabled"))) {
return new NoMetrics();
}
try {
final Optional<FaultToleranceMetrics> iterator = StreamSupport.stream(
ServiceLoader.load(FaultToleranceMetrics.class).spliterator(), false)
.min(comparing(it -> ofNullable(it.getClass().getAnnotation(Priority.class)).map(Priority::value).orElse(0)));
if (iterator.isPresent()) {
return iterator.orElseThrow(IllegalStateException::new);
}
return new MicroprofileMetricsImpl(CDI.current().select(org.eclipse.microprofile.metrics.MetricRegistry.class).get());
} catch (final Exception e) {
// no-op
}
return new NoMetrics();
}