com.ccadllc.cedi.circuitbreaker.statistics
Lifecycle function invoked by the CircuitBreaker after the program execution has completed
Lifecycle function invoked by the CircuitBreaker after the program execution has completed
newStatistics - The metrics are updated, including update to the effective processing rate per second.
Lifecycle function invoked by the CircuitBreaker after it performed throttling checks and determined the program execution request should go forth.
Lifecycle function invoked by the CircuitBreaker after it performed throttling checks and determined the program execution request should go forth.
newStatistics - The metrics are updated, including update to the effective inbound rate per second.
Lifecycle function invoked by the CircuitBreaker before it checks to see if it should throttle a request, passing a timestamp indicating the instant a request has been received.
Lifecycle function invoked by the CircuitBreaker before it checks to see if it should throttle a request, passing a timestamp indicating the instant a request has been received.
newStatistics - The metrics are updated with the timestamp of the request received.
- if the statistics have undergone any state change, the last change will be present here.
- the FailureStatistics used for the failure component of the flow control circuit breaker.
- the unique identifier of the CircuitBreaker which "owns" this statistics instance.
The maximum acceptable inbound rate.
The maximum acceptable inbound rate. This is differentated from the mean processing rate in that you can configure a percentage that we should allow the inbound rate exceed the processing rate (to account for spikes and valleys, for instance). This value is the mean processing rate + the added percentage over allowed, if it is configured as a non-zero value.
maxAcceptableRate - the maximum acceptable rate, if it has been calculated yet (it will not be calculated until a full window of statistics has been collected).
The mean/average effective inbound rate per second (effective in that requests that are throttled/failed fast are not counted in the effective rate) over the sample window.
The mean/average effective inbound rate per second (effective in that requests that are throttled/failed fast are not counted in the effective rate) over the sample window.
meanFlowRate - the mean effective inbound rate.
The mean/average observed processing rate per second over the sample window.
The mean/average observed processing rate per second over the sample window.
meanFlowRate - the mean processing rate.
- the sliding time-based metrics for both the inbound requests per second as well as the observed processing rate per second of the protected program.
- the sliding time-based metrics for both the inbound requests per second as well as the observed processing rate per second of the protected program. the protected program execution.
Should the current request be throttled (failed fast), given this statistics object? This function will evaluat the inbound rate and processing rate averages, assuming both have followed a full window's worth of statistics, and determine if the current effective inbound rate is greater than the maximum acceptable rate, or if the configured hard limit rate has been exceeded.
Should the current request be throttled (failed fast), given this statistics object? This function will evaluat the inbound rate and processing rate averages, assuming both have followed a full window's worth of statistics, and determine if the current effective inbound rate is greater than the maximum acceptable rate, or if the configured hard limit rate has been exceeded. If either of those things evaluate true, this function will also.
Render this statistics object in human readable form.
Render this statistics object in human readable form.
Indicates that the last state change was that the maximum acceptable rate was decreased (the CircuitBreaker should throttle down the rate of requests it allows through to execution, throttling the service down).
Indicates that the last state change was that the maximum acceptable rate was increased (the CircuitBreaker can allow its protected program execution to throttle up).
Convenience copy constructor, apply the passed-in FailureStatistics.
This represents the statistics that CircuitBreaker instances use to track the inbound and processing rate of their protected programs, for use in determining when to throttle (fail fast) requests in order to maintain the effective inbound rate to an acceptable level such that the program (or system/service behind it) is not overloaded.