public class CPUCircuitBreaker extends CircuitBreaker
Tracks current CPU usage and triggers if the specified threshold is breached. This circuit breaker gets the average CPU load over the last minute and uses that data to take a decision. We depend on OperatingSystemMXBean which does not allow a configurable interval of collection of data. //TODO: Use Codahale Meter to calculate the value locally.
The configuration to define which mode to use and the trigger threshold are defined in solrconfig.xml
CircuitBreaker.CircuitBreakerConfig
config, NAME
Constructor and Description |
---|
CPUCircuitBreaker(CircuitBreaker.CircuitBreakerConfig config) |
Modifier and Type | Method and Description |
---|---|
protected double |
calculateLiveCPUUsage() |
double |
getCpuUsageThreshold() |
String |
getDebugInfo()
Get debug useful info.
|
String |
getErrorMessage()
Get error message when the circuit breaker triggers
|
boolean |
isTripped()
Check if circuit breaker is tripped.
|
isEnabled
public CPUCircuitBreaker(CircuitBreaker.CircuitBreakerConfig config)
public boolean isTripped()
CircuitBreaker
isTripped
in class CircuitBreaker
public String getDebugInfo()
CircuitBreaker
getDebugInfo
in class CircuitBreaker
public String getErrorMessage()
CircuitBreaker
getErrorMessage
in class CircuitBreaker
public double getCpuUsageThreshold()
protected double calculateLiveCPUUsage()
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.