blob: 5f9c061e0732aa0540943cb8f108c3cad7142b1e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_261) on Mon Dec 20 14:15:51 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AdaptiveCpuLoadProbe (Ignite 2.11.1)</title>
<meta name="date" content="2021-12-20">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AdaptiveCpuLoadProbe (Ignite 2.11.1)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AdaptiveCpuLoadProbe.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveJobCountLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html" target="_top">Frames</a></li>
<li><a href="AdaptiveCpuLoadProbe.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.loadbalancing.adaptive</div>
<h2 title="Class AdaptiveCpuLoadProbe" class="title">Class AdaptiveCpuLoadProbe</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.loadbalancing.adaptive.AdaptiveCpuLoadProbe</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadProbe</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">AdaptiveCpuLoadProbe</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadProbe</a></pre>
<div class="block">Implementation of node load probing based on CPU load.
<p>
Based on <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#setUseAverage-boolean-"><code>setUseAverage(boolean)</code></a>
parameter, this implementation will either use average CPU load
values or current (default is to use averages).
<p>
Based on <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#setUseProcessors-boolean-"><code>setUseProcessors(boolean)</code></a> parameter, this implementation
will either take number of processors on the node into account or not.
Since CPU load on multi-processor boxes shows medium load of multiple CPU's it
usually means that the remaining capacity is proportional to the number of
CPU's (or cores) on the node. This configuration parameter indicates
whether to divide each node's CPU load by the number of processors on that node
(default is <code>true</code>).
<p>
Also note that in some environments every processor may not be adding 100% of
processing power. For example, if you are using multi-core CPU's, then addition of
every core would probably result in about 75% of extra CPU power. To account
for that, you should set <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#setProcessorCoefficient-double-"><code>setProcessorCoefficient(double)</code></a> parameter to
<code>0.75</code> .
<p>
Below is an example of how CPU load probe would be configured in Ignite
Spring configuration file:
<pre name="code" class="xml">
&lt;property name="loadBalancingSpi"&gt;
&lt;bean class="org.apache.ignite.spi.loadBalancing.adaptive.GridAdaptiveLoadBalancingSpi"&gt;
&lt;property name="loadProbe"&gt;
&lt;bean class="org.apache.ignite.spi.loadBalancing.adaptive.GridAdaptiveCpuLoadProbe"&gt;
&lt;property name="useAverage" value="true"/&gt;
&lt;property name="useProcessors" value="true"/&gt;
&lt;property name="processorCoefficient" value="0.9"/&gt;
&lt;/bean&gt;
&lt;/property&gt;
&lt;/bean&gt;
&lt;/property&gt;
</pre>
<p>
This implementation is used by default by <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><code>AdaptiveLoadBalancingSpi</code></a> SPI.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#AdaptiveCpuLoadProbe--">AdaptiveCpuLoadProbe</a></span>()</code>
<div class="block">Initializes CPU load probe to use CPU load average by default.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#AdaptiveCpuLoadProbe-boolean-boolean-">AdaptiveCpuLoadProbe</a></span>(boolean&nbsp;useAvg,
boolean&nbsp;useProcs)</code>
<div class="block">Specifies whether to use average CPU load vs. current and whether or
not to take number of processors into account.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#AdaptiveCpuLoadProbe-boolean-boolean-double-">AdaptiveCpuLoadProbe</a></span>(boolean&nbsp;useAvg,
boolean&nbsp;useProcs,
double&nbsp;procCoefficient)</code>
<div class="block">Specifies whether to use average CPU load vs. current and whether or
not to take number of processors into account.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#getLoad-org.apache.ignite.cluster.ClusterNode-int-">getLoad</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
int&nbsp;jobsSentSinceLastUpdate)</code>
<div class="block">Calculates load value for a given node.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#getProcessorCoefficient--">getProcessorCoefficient</a></span>()</code>
<div class="block">Gets coefficient of every CPU processor.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#isUseAverage--">isUseAverage</a></span>()</code>
<div class="block">Gets flag indicating whether to use average CPU load vs. current.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#isUseProcessors--">isUseProcessors</a></span>()</code>
<div class="block">Gets flag indicating whether to use average CPU load vs. current
(default is <code>true</code>).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#setProcessorCoefficient-double-">setProcessorCoefficient</a></span>(double&nbsp;procCoefficient)</code>
<div class="block">Sets coefficient of every CPU processor.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#setUseAverage-boolean-">setUseAverage</a></span>(boolean&nbsp;useAvg)</code>
<div class="block">Sets flag indicating whether to use average CPU load vs. current.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#setUseProcessors-boolean-">setUseProcessors</a></span>(boolean&nbsp;useProcs)</code>
<div class="block">Sets flag indicating whether to use average CPU load vs. current
(default is <code>true</code>).</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#toString--">toString</a></span>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AdaptiveCpuLoadProbe--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AdaptiveCpuLoadProbe</h4>
<pre>public&nbsp;AdaptiveCpuLoadProbe()</pre>
<div class="block">Initializes CPU load probe to use CPU load average by default.</div>
</li>
</ul>
<a name="AdaptiveCpuLoadProbe-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AdaptiveCpuLoadProbe</h4>
<pre>public&nbsp;AdaptiveCpuLoadProbe(boolean&nbsp;useAvg,
boolean&nbsp;useProcs)</pre>
<div class="block">Specifies whether to use average CPU load vs. current and whether or
not to take number of processors into account.
<p>
Since CPU load on multi-processor boxes shows medium load of multiple CPU's it
usually means that the remaining capacity is proportional to the number of
CPU's (or cores) on the node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useAvg</code> - Flag indicating whether to use average CPU load vs. current
(default is <code>true</code>).</dd>
<dd><code>useProcs</code> - Flag indicating whether to divide each node's CPU load
by the number of processors on that node (default is <code>true</code>).</dd>
</dl>
</li>
</ul>
<a name="AdaptiveCpuLoadProbe-boolean-boolean-double-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AdaptiveCpuLoadProbe</h4>
<pre>public&nbsp;AdaptiveCpuLoadProbe(boolean&nbsp;useAvg,
boolean&nbsp;useProcs,
double&nbsp;procCoefficient)</pre>
<div class="block">Specifies whether to use average CPU load vs. current and whether or
not to take number of processors into account. It also allows to
specify the coefficient of addition power every CPU adds.
<p>
Since CPU load on multi-processor boxes shows medium load of multiple CPU's it
usually means that the remaining capacity is proportional to the number of
CPU's (or cores) on the node.
<p>
Also, in some environments every processor may not be adding 100% of processing
power. For example, if you are using multi-core CPU's, then addition of
every core would probably result in about 75% of extra CPU power, and hence
you would set this coefficient to <code>0.75</code> .</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useAvg</code> - Flag indicating whether to use average CPU load vs. current
(default is <code>true</code>).</dd>
<dd><code>useProcs</code> - Flag indicating whether to divide each node's CPU load
by the number of processors on that node (default is <code>true</code>).</dd>
<dd><code>procCoefficient</code> - Coefficient of every CPU processor (default value is <code>1</code>).</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isUseAverage--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUseAverage</h4>
<pre>public&nbsp;boolean&nbsp;isUseAverage()</pre>
<div class="block">Gets flag indicating whether to use average CPU load vs. current.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Flag indicating whether to use average CPU load vs. current.</dd>
</dl>
</li>
</ul>
<a name="setUseAverage-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseAverage</h4>
<pre>public&nbsp;void&nbsp;setUseAverage(boolean&nbsp;useAvg)</pre>
<div class="block">Sets flag indicating whether to use average CPU load vs. current.
If not explicitly set, then default value is <code>true</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useAvg</code> - Flag indicating whether to use average CPU load vs. current.</dd>
</dl>
</li>
</ul>
<a name="isUseProcessors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUseProcessors</h4>
<pre>public&nbsp;boolean&nbsp;isUseProcessors()</pre>
<div class="block">Gets flag indicating whether to use average CPU load vs. current
(default is <code>true</code>).
<p>
Since CPU load on multi-processor boxes shows medium load of multiple CPU's it
usually means that the remaining capacity is proportional to the number of
CPU's (or cores) on the node.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Flag indicating whether to divide each node's CPU load
by the number of processors on that node (default is <code>true</code>).</dd>
</dl>
</li>
</ul>
<a name="setUseProcessors-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseProcessors</h4>
<pre>public&nbsp;void&nbsp;setUseProcessors(boolean&nbsp;useProcs)</pre>
<div class="block">Sets flag indicating whether to use average CPU load vs. current
(default is <code>true</code>).
<p>
Since CPU load on multi-processor boxes shows medium load of multiple CPU's it
usually means that the remaining capacity is proportional to the number of
CPU's (or cores) on the node.
<p>
If not explicitly set, then default value is <code>true</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useProcs</code> - Flag indicating whether to divide each node's CPU load
by the number of processors on that node (default is <code>true</code>).</dd>
</dl>
</li>
</ul>
<a name="getProcessorCoefficient--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessorCoefficient</h4>
<pre>public&nbsp;double&nbsp;getProcessorCoefficient()</pre>
<div class="block">Gets coefficient of every CPU processor. By default it is <code>1</code>, but
in some environments every processor may not be adding 100% of processing
power. For example, if you are using multi-core CPU's, then addition of
every core would probably result in about 75% of extra CPU power, and hence
you would set this coefficient to <code>0.75</code> .
<p>
This value is ignored if <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#isUseProcessors--"><code>isUseProcessors()</code></a> is set to <code>false</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Coefficient of every CPU processor.</dd>
</dl>
</li>
</ul>
<a name="setProcessorCoefficient-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProcessorCoefficient</h4>
<pre>public&nbsp;void&nbsp;setProcessorCoefficient(double&nbsp;procCoefficient)</pre>
<div class="block">Sets coefficient of every CPU processor. By default it is <code>1</code>, but
in some environments every processor may not be adding 100% of processing
power. For example, if you are using multi-core CPU's, then addition of
every core would probably result in about 75% of extra CPU power, and hence
you would set this coefficient to <code>0.75</code> .
<p>
This value is ignored if <a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html#isUseProcessors--"><code>isUseProcessors()</code></a> is set to <code>false</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procCoefficient</code> - Coefficient of every CPU processor.</dd>
</dl>
</li>
</ul>
<a name="getLoad-org.apache.ignite.cluster.ClusterNode-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoad</h4>
<pre>public&nbsp;double&nbsp;getLoad(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
int&nbsp;jobsSentSinceLastUpdate)</pre>
<div class="block">Calculates load value for a given node. Specific implementations would
usually take into account some of the values provided by
<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html#metrics--"><code>ClusterNode.metrics()</code></a> method. For example, load can be calculated
based on job execution time or number of active jobs, or CPU/Heap utilization.
<p>
Note that if this method returns a value of <code>0</code>,
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 <code>0</code>), then a value
of <code>1</code> will be used.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html#getLoad-org.apache.ignite.cluster.ClusterNode-int-">getLoad</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadProbe.html" title="interface in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadProbe</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Grid node to calculate load for.</dd>
<dd><code>jobsSentSinceLastUpdate</code> - 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.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Non-negative load value for the node (zero and above).</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AdaptiveCpuLoadProbe.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveJobCountLoadProbe.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html" target="_top">Frames</a></li>
<li><a href="AdaptiveCpuLoadProbe.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>