<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.4.0/javadoc/org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveCpuLoadProbe.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_77) on Mon Mar 05 10:43:16 UTC 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AdaptiveCpuLoadProbe (Ignite 2.4.0)</title>
<meta name="date" content="2018-03-05">
<link rel="stylesheet" type="text/css" href="../../../../../../javadoc.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="AdaptiveCpuLoadProbe (Ignite 2.4.0)";
        }
    }
    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 class="aboutLanguage">Ignite - In-Memory Data Fabric</div>
</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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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 class="aboutLanguage">Ignite - In-Memory Data Fabric</div>
</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>2018 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 Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.4.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             March 5 2018                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
