|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.netflix.astyanax.connectionpool.impl.AbstractLatencyScoreStrategyImpl
public abstract class AbstractLatencyScoreStrategyImpl
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.netflix.astyanax.connectionpool.LatencyScoreStrategy |
|---|
LatencyScoreStrategy.Instance, LatencyScoreStrategy.Listener |
| Field Summary | |
|---|---|
static int |
DEFAULT_BLOCKED_THREAD_THRESHOLD
|
static double |
DEFAULT_KEEP_RATIO
|
static int |
DEFAULT_RESET_INTERVAL
|
static double |
DEFAULT_SCORE_THRESHOLD
|
static int |
DEFAULT_UPDATE_INTERVAL
|
| Constructor Summary | |
|---|---|
AbstractLatencyScoreStrategyImpl(java.lang.String name)
|
|
AbstractLatencyScoreStrategyImpl(java.lang.String name,
int updateInterval,
int resetInterval)
|
|
AbstractLatencyScoreStrategyImpl(java.lang.String name,
int updateInterval,
int resetInterval,
int blockedThreshold,
double keepRatio,
double scoreThreshold)
|
|
AbstractLatencyScoreStrategyImpl(java.lang.String name,
int updateInterval,
int resetInterval,
int blockedThreshold,
double keepRatio,
double scoreThreshold,
java.util.concurrent.ScheduledExecutorService executor)
|
|
| Method Summary | ||
|---|---|---|
LatencyScoreStrategy.Instance |
createInstance()
Create a new instance to associate with an endpoint |
|
int |
getBlockedThreshold()
|
|
double |
getKeepRatio()
|
|
int |
getResetInterval()
|
|
double |
getScoreThreshold()
|
|
int |
getUpdateInterval()
|
|
protected abstract LatencyScoreStrategy.Instance |
newInstance()
Template method for creating a new latency tracking instance for a host |
|
void |
removeInstance(LatencyScoreStrategy.Instance instance)
Remove the instance for an endpoint that is no longer being tracked |
|
void |
reset()
Reset all instance scores |
|
void |
shutdown()
Shutdown the threads created by calling start() |
|
|
sortAndfilterPartition(java.util.List<HostConnectionPool<CL>> srcPools,
java.util.concurrent.atomic.AtomicBoolean prioritized)
Sorts and filters a list of hosts by looking at their up state and score. |
|
void |
start(LatencyScoreStrategy.Listener listener)
Start updating stats for instances created using createInstance. |
|
void |
update()
Update all instance scores |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_UPDATE_INTERVAL
public static final int DEFAULT_RESET_INTERVAL
public static final int DEFAULT_BLOCKED_THREAD_THRESHOLD
public static final double DEFAULT_KEEP_RATIO
public static final double DEFAULT_SCORE_THRESHOLD
| Constructor Detail |
|---|
public AbstractLatencyScoreStrategyImpl(java.lang.String name,
int updateInterval,
int resetInterval,
int blockedThreshold,
double keepRatio,
double scoreThreshold,
java.util.concurrent.ScheduledExecutorService executor)
public AbstractLatencyScoreStrategyImpl(java.lang.String name,
int updateInterval,
int resetInterval,
int blockedThreshold,
double keepRatio,
double scoreThreshold)
name - updateInterval - In millisecondsresetInterval - In milliseconds
public AbstractLatencyScoreStrategyImpl(java.lang.String name,
int updateInterval,
int resetInterval)
public AbstractLatencyScoreStrategyImpl(java.lang.String name)
| Method Detail |
|---|
public final LatencyScoreStrategy.Instance createInstance()
LatencyScoreStrategy
createInstance in interface LatencyScoreStrategyprotected abstract LatencyScoreStrategy.Instance newInstance()
public void start(LatencyScoreStrategy.Listener listener)
LatencyScoreStrategy
start in interface LatencyScoreStrategypublic void shutdown()
LatencyScoreStrategy
shutdown in interface LatencyScoreStrategypublic void removeInstance(LatencyScoreStrategy.Instance instance)
LatencyScoreStrategy
removeInstance in interface LatencyScoreStrategy
public <CL> java.util.List<HostConnectionPool<CL>> sortAndfilterPartition(java.util.List<HostConnectionPool<CL>> srcPools,
java.util.concurrent.atomic.AtomicBoolean prioritized)
LatencyScoreStrategy
sortAndfilterPartition in interface LatencyScoreStrategyprioritized - - Will be set to true if the filtered data is prioritized or
not. If prioritized then the first element should be selected
from by the load balancing strategy. Otherwise round robin
could be used.
public void update()
LatencyScoreStrategy
update in interface LatencyScoreStrategypublic void reset()
LatencyScoreStrategy
reset in interface LatencyScoreStrategypublic int getUpdateInterval()
getUpdateInterval in interface LatencyScoreStrategypublic int getResetInterval()
getResetInterval in interface LatencyScoreStrategypublic double getScoreThreshold()
getScoreThreshold in interface LatencyScoreStrategypublic int getBlockedThreshold()
getBlockedThreshold in interface LatencyScoreStrategypublic double getKeepRatio()
getKeepRatio in interface LatencyScoreStrategy
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||