public class LoadBalancerStats
extends java.lang.Object
implements com.netflix.client.IClientConfigAware
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 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