Claus Ibsen created CAMEL-24819:
-----------------------------------
Summary: circuitBreaker: count fallback, timed out and bulkhead
rejected calls in JMX, dev console, camel get circuit-breaker and the TUI
Key: CAMEL-24819
URL: https://issues.apache.org/jira/browse/CAMEL-24819
Project: Camel
Issue Type: Improvement
Components: camel-jbang, eip, camel-microprofile-fault-tolerance
Reporter: Claus Ibsen
Follow-up to CAMEL-24818. The circuit breaker processors expose state,
successful, failed and not permitted calls through JMX, the dev console
(camel-resilience4j and camel-microprofile-fault-tolerance), the CLI command
*camel get circuit-breaker* and the TUI circuit breaker tab. Three things that
the processors know are not counted anywhere:
* how often the *onFallback* answered, i.e. how many callers got a degraded
answer
* how many calls timed out (Resilience4j records a timeout as a failure, so a
slow service and a broken one look the same)
* how many calls the bulkhead rejected (Resilience4j's not permitted metric and
the fault tolerance onPrevented listener count only breaker-open refusals, so a
saturated bulkhead is invisible)
Add fallbackCalls, timedOutCalls and bulkheadRejectedCalls counters to
ResilienceProcessor and FaultToleranceProcessor, incremented on the same code
paths that set the CamelCircuitBreakerResponse* exchange properties, reset with
the existing reset operation, exposed as managed attributes, added to both dev
consoles (JSON and text), to camel get circuit-breaker and to the TUI tab,
detail panel and help page. REJECT keeps meaning refused by the open breaker,
matching Resilience4j's vocabulary.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)