Skip to content

Commit 939e876

Browse files
committed
Additional factory methods
These factory methods are identical to the ones already existing in metrics/CircuitBreakerMetrics.java. Their purpose is to allow Spring Boot applications to instantiate CircuitBreakerMetrics and have fine-grained control over which circuit breakers are bound to metrics, in particular in scenarios where the CircuitBreakerRegistry may not be completely populated by the time the CircuitBreakerMetrics class is instantiated.
1 parent 0004bd2 commit 939e876

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

resilience4j-micrometer/src/main/java/io/github/resilience4j/micrometer/CircuitBreakerMetrics.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,26 @@ public static CircuitBreakerMetrics ofCircuitBreakerRegistry(CircuitBreakerRegis
4949
return new CircuitBreakerMetrics(circuitBreakerRegistry.getAllCircuitBreakers());
5050
}
5151

52+
/**
53+
* Creates a new instance CircuitBreakerMetrics {@link CircuitBreakerMetrics} with
54+
* an {@link Iterable} of circuit breakers as a source.
55+
*
56+
* @param circuitBreakers the circuit breakers
57+
*/
58+
public static CircuitBreakerMetrics ofIterable(Iterable<CircuitBreaker> circuitBreakers) {
59+
return new CircuitBreakerMetrics(circuitBreakers);
60+
}
61+
62+
/**
63+
* Creates a new instance CircuitBreakerMetrics {@link CircuitBreakerMetrics} with
64+
* an {@link Iterable} of circuit breakers as a source.
65+
*
66+
* @param circuitBreakers the circuit breakers
67+
*/
68+
public static CircuitBreakerMetrics ofIterable(String prefix, Iterable<CircuitBreaker> circuitBreakers) {
69+
return new CircuitBreakerMetrics(circuitBreakers, prefix);
70+
}
71+
5272
@Override
5373
public void bindTo(MeterRegistry registry) {
5474
for (CircuitBreaker circuitBreaker : circuitBreakers) {

0 commit comments

Comments
 (0)