public class LoadBalancerStats
extends java.lang.Object
implements com.netflix.client.IClientConfigAware
Modifier and Type | Field and Description |
---|---|
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
ACTIVE_REQUESTS_COUNT_TIMEOUT |
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
CIRCUIT_TRIP_MAX_TIMEOUT_SECONDS |
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
CIRCUIT_TRIP_TIMEOUT_FACTOR_SECONDS |
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
CONNECTION_FAILURE_COUNT_THRESHOLD |
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
DEFAULT_CIRCUIT_TRIP_MAX_TIMEOUT_SECONDS |
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
DEFAULT_CIRCUIT_TRIP_TIMEOUT_FACTOR_SECONDS |
static com.netflix.client.config.IClientConfigKey<java.lang.Integer> |
DEFAULT_CONNECTION_FAILURE_COUNT_THRESHOLD |
Constructor and Description |
---|
LoadBalancerStats() |
LoadBalancerStats(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
void |
addServer(Server server) |
void |
clearSuccessiveConnectionFailureCount(Server server) |
protected ServerStats |
createServerStats(Server server) |
void |
decrementActiveRequestsCount(Server server) |
int |
getActiveRequestsCount(java.lang.String zone) |
double |
getActiveRequestsPerServer(java.lang.String zone) |
java.util.Set<java.lang.String> |
getAvailableZones() |
int |
getCircuitBreakerTrippedCount() |
int |
getCircuitBreakerTrippedCount(java.lang.String zone) |
int |
getCongestionRatePercentage(java.lang.String zone) |
int |
getInstanceCount(java.lang.String zone) |
long |
getMeasuredZoneHits(java.lang.String zone) |
java.lang.String |
getName() |
java.util.Map<Server,ServerStats> |
getServerStats()
returns map of Stats for all servers
|
protected ServerStats |
getServerStats(Server server) |
ServerStats |
getSingleServerStat(Server server) |
ZoneSnapshot |
getZoneSnapshot(java.util.List<? extends Server> servers)
This is the core function to get zone stats.
|
ZoneSnapshot |
getZoneSnapshot(java.lang.String zone) |
java.util.Map<java.lang.String,ZoneStats> |
getZoneStats() |
void |
incrementActiveRequestsCount(Server server) |
void |
incrementNumRequests(Server server) |
void |
incrementSuccessiveConnectionFailureCount(Server server) |
void |
incrementZoneCounter(Server server) |
void |
initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig) |
boolean |
isCircuitBreakerTripped(Server server) |
void |
noteResponseTime(Server server,
double msecs)
Method that updates the internal stats of Response times maintained on a per Server
basis
|
void |
setName(java.lang.String name) |
java.lang.String |
toString() |
void |
updateServerList(java.util.List<Server> servers)
The caller o this class is tasked to call this method every so often if
the servers participating in the LoadBalancer changes
|
void |
updateZoneServerMapping(java.util.Map<java.lang.String,java.util.List<Server>> map) |
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> ACTIVE_REQUESTS_COUNT_TIMEOUT
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> CONNECTION_FAILURE_COUNT_THRESHOLD
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> CIRCUIT_TRIP_TIMEOUT_FACTOR_SECONDS
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> CIRCUIT_TRIP_MAX_TIMEOUT_SECONDS
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> DEFAULT_CONNECTION_FAILURE_COUNT_THRESHOLD
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> DEFAULT_CIRCUIT_TRIP_TIMEOUT_FACTOR_SECONDS
public static final com.netflix.client.config.IClientConfigKey<java.lang.Integer> DEFAULT_CIRCUIT_TRIP_MAX_TIMEOUT_SECONDS
public LoadBalancerStats()
public LoadBalancerStats(java.lang.String name)
protected ServerStats createServerStats(Server server)
public void initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig)
initWithNiwsConfig
in interface com.netflix.client.IClientConfigAware
public java.lang.String getName()
public void setName(java.lang.String name)
public void updateServerList(java.util.List<Server> servers)
servers
- public void addServer(Server server)
public void noteResponseTime(Server server, double msecs)
server
- msecs
- protected ServerStats getServerStats(Server server)
public void incrementActiveRequestsCount(Server server)
public void decrementActiveRequestsCount(Server server)
public boolean isCircuitBreakerTripped(Server server)
public void incrementSuccessiveConnectionFailureCount(Server server)
public void clearSuccessiveConnectionFailureCount(Server server)
public void incrementNumRequests(Server server)
public void incrementZoneCounter(Server server)
public void updateZoneServerMapping(java.util.Map<java.lang.String,java.util.List<Server>> map)
public int getInstanceCount(java.lang.String zone)
public int getActiveRequestsCount(java.lang.String zone)
public double getActiveRequestsPerServer(java.lang.String zone)
public ZoneSnapshot getZoneSnapshot(java.lang.String zone)
public ZoneSnapshot getZoneSnapshot(java.util.List<? extends Server> servers)
servers
- public int getCircuitBreakerTrippedCount(java.lang.String zone)
@Monitor(name="LBStats_CircuitBreakerTrippedCount", type=GAUGE) public int getCircuitBreakerTrippedCount()
public long getMeasuredZoneHits(java.lang.String zone)
public int getCongestionRatePercentage(java.lang.String zone)
@Monitor(name="LBStats_AvailableZones", type=INFORMATIONAL) public java.util.Set<java.lang.String> getAvailableZones()
public ServerStats getSingleServerStat(Server server)
public java.util.Map<Server,ServerStats> getServerStats()
public java.util.Map<java.lang.String,ZoneStats> getZoneStats()
public java.lang.String toString()
toString
in class java.lang.Object