public class AdaptiveProcessingTimeLoadProbe extends Object implements AdaptiveLoadProbe
setUseAverage(boolean)
parameter, this implementation will either use average job execution
time values or current (default is to use averages). The algorithm
returns a sum of job wait time and job execution time.
Below is an example of how CPU load probe would be configured in Ignite Spring configuration file:
<property name="loadBalancingSpi"> <bean class="org.apache.ignite.spi.loadBalancing.adaptive.GridAdaptiveLoadBalancingSpi"> <property name="loadProbe"> <bean class="org.apache.ignite.spi.loadBalancing.adaptive.GridAdaptiveProcessingTimeLoadProbe"> <property name="useAverage" value="true"/> </bean> </property> </bean> </property>
Constructor and Description |
---|
AdaptiveProcessingTimeLoadProbe()
Initializes execution time load probe to use
execution time average by default.
|
AdaptiveProcessingTimeLoadProbe(boolean useAvg)
Specifies whether to use average execution time vs. current.
|
Modifier and Type | Method and Description |
---|---|
double |
getLoad(ClusterNode node,
int jobsSentSinceLastUpdate)
Calculates load value for a given node.
|
boolean |
isUseAverage()
Gets flag indicating whether to use average execution time vs. current.
|
void |
setUseAverage(boolean useAvg)
Sets flag indicating whether to use average execution time vs. current.
|
String |
toString() |
public AdaptiveProcessingTimeLoadProbe()
public AdaptiveProcessingTimeLoadProbe(boolean useAvg)
useAvg
- Flag indicating whether to use average execution time vs. current.public boolean isUseAverage()
public void setUseAverage(boolean useAvg)
useAvg
- Flag indicating whether to use average execution time vs. current.public double getLoad(ClusterNode node, int jobsSentSinceLastUpdate)
ClusterNode.metrics()
method. For example, load can be calculated
based on job execution time or number of active jobs, or CPU/Heap utilization.
Note that if this method returns a value of 0
,
then implementation will assume that load value is simply not available and
will try to calculate an average of load values for other nodes. If such
average cannot be obtained (all node load values are 0
), then a value
of 1
will be used.
getLoad
in interface AdaptiveLoadProbe
node
- Grid node to calculate load for.jobsSentSinceLastUpdate
- Number of jobs sent to this node since
last metrics update. This parameter may be useful when
implementation takes into account the current job count on a node.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.16.0 Release Date : December 15 2023