blob: e5033c365b1d96cd3c803928fb3541cf3eb1e495 [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 -->
<title>ServerLoadProbe (Apache Geode 1.15.1)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ServerLoadProbe (Apache Geode 1.15.1)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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="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><a href="../../../../../org/apache/geode/cache/server/ServerLoad.html" title="class in org.apache.geode.cache.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/server/ServerLoadProbeAdapter.html" title="class in org.apache.geode.cache.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/server/ServerLoadProbe.html" target="_top">Frames</a></li>
<li><a href="ServerLoadProbe.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>Constr&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>Constr&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.geode.cache.server</div>
<h2 title="Interface ServerLoadProbe" class="title">Interface ServerLoadProbe</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a>, <a href="../../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/geode/cache/server/ServerLoadProbeAdapter.html" title="class in org.apache.geode.cache.server">ServerLoadProbeAdapter</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ServerLoadProbe</span>
extends <a href="../../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></pre>
<div class="block">A load probe is installed in a cache server to measure the load on the cache server for balancing
load between multiple cache servers.
<p>
The getLoad method will be called once per poll interval see
<a href="../../../../../org/apache/geode/cache/server/CacheServer.html#setLoadPollInterval-long-"><code>CacheServer.setLoadPollInterval(long)</code></a> The <a href="../../../../../org/apache/geode/cache/server/ServerLoad.html" title="class in org.apache.geode.cache.server"><code>ServerLoad</code></a> object returned by the
getLoad method will be sent to the locator every time the load for this server changes. To
conserve bandwidth, it's a good idea to round the load calculations so that the load will not be
sent too frequently.
<p>
The <a href="../../../../../org/apache/geode/cache/server/ServerLoad.html" title="class in org.apache.geode.cache.server"><code>ServerLoad</code></a> object contains two floating point numbers indicating the load on the
server due to client to server connections and due to subscription connections. When routing a
connection, the locator will choose the server that has the lowest load.
<p>
It is generally a good idea to pick a load function where 0 connections corresponds to 0 load.
The default gemfire load probes return a fraction between 0 and 1, where 0 indicates no load, and
1 indicates the server is completely loaded.
<p>
Because cache servers can be stopped, reconfigured, and restarted, the open and close methods on
this callback can be called several times. If the same callback object is installed on multiple
cache servers, open and close will be called once for each cache server.
<p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 5.7</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/server/ServerLoadProbe.html#close--">close</a></span>()</code>
<div class="block">Signals that a cache server using this load probe has been closed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/server/ServerLoad.html" title="class in org.apache.geode.cache.server">ServerLoad</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/server/ServerLoadProbe.html#getLoad-org.apache.geode.cache.server.ServerMetrics-">getLoad</a></span>(<a href="../../../../../org/apache/geode/cache/server/ServerMetrics.html" title="interface in org.apache.geode.cache.server">ServerMetrics</a>&nbsp;metrics)</code>
<div class="block">Get the load on this server.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/server/ServerLoadProbe.html#open--">open</a></span>()</code>
<div class="block">Signals that a cache server using this load probe has been started.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.Declarable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></h3>
<code><a href="../../../../../org/apache/geode/cache/Declarable.html#init-java.util.Properties-">init</a>, <a href="../../../../../org/apache/geode/cache/Declarable.html#initialize-org.apache.geode.cache.Cache-java.util.Properties-">initialize</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getLoad-org.apache.geode.cache.server.ServerMetrics-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoad</h4>
<pre><a href="../../../../../org/apache/geode/cache/server/ServerLoad.html" title="class in org.apache.geode.cache.server">ServerLoad</a>&nbsp;getLoad(<a href="../../../../../org/apache/geode/cache/server/ServerMetrics.html" title="interface in org.apache.geode.cache.server">ServerMetrics</a>&nbsp;metrics)</pre>
<div class="block">Get the load on this server. This method will be called once every pool interval.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metrics</code> - the <a href="../../../../../org/apache/geode/cache/server/ServerMetrics.html" title="interface in org.apache.geode.cache.server"><code>ServerMetrics</code></a> for the server</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The current load on this server.</dd>
</dl>
</li>
</ul>
<a name="open--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>void&nbsp;open()</pre>
<div class="block">Signals that a cache server using this load probe has been started.</div>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
<div class="block">Signals that a cache server using this load probe has been closed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/geode/cache/CacheCallback.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/geode/cache/RegionService.html#close--"><code>RegionService.close()</code></a>,
<a href="../../../../../org/apache/geode/cache/Region.html#close--"><code>Region.close()</code></a>,
<a href="../../../../../org/apache/geode/cache/Region.html#localDestroyRegion--"><code>Region.localDestroyRegion()</code></a>,
<a href="../../../../../org/apache/geode/cache/Region.html#destroyRegion--"><code>Region.destroyRegion()</code></a>,
<a href="../../../../../org/apache/geode/cache/AttributesMutator.html" title="interface in org.apache.geode.cache"><code>AttributesMutator</code></a></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="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><a href="../../../../../org/apache/geode/cache/server/ServerLoad.html" title="class in org.apache.geode.cache.server"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/server/ServerLoadProbeAdapter.html" title="class in org.apache.geode.cache.server"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/server/ServerLoadProbe.html" target="_top">Frames</a></li>
<li><a href="ServerLoadProbe.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>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>