<!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>Statistics (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="Statistics (Apache Geode 1.15.1)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":38,"i7":38,"i8":38,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":38,"i22":38,"i23":38,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":38,"i38":38,"i39":38,"i40":38,"i41":38,"i42":38,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated 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/StatisticDescriptor.html" title="interface in org.apache.geode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/geode/StatisticsFactory.html" title="interface in org.apache.geode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/geode/Statistics.html" target="_top">Frames</a></li>
<li><a href="Statistics.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</div>
<h2 title="Interface Statistics" class="title">Interface Statistics</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Statistics</span></pre>
<div class="block">Instances of this interface maintain the values of various application-defined statistics. The
 statistics themselves are described by an instance of <a href="../../../org/apache/geode/StatisticsType.html" title="interface in org.apache.geode"><code>StatisticsType</code></a>.

 <P>
 To get an instance of this interface use an instance of <a href="../../../org/apache/geode/StatisticsFactory.html" title="interface in org.apache.geode"><code>StatisticsFactory</code></a>.
 <P>

 For improved performance, each statistic may be referred to by its <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>descriptor</code></a>.
 <P>
 For optimal performance, each statistic may be referred to by its <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>id</code></a> in the
 statistics object. Note that ids can not be mapped back to their name and methods that take ids
 are unsafe. It is important to call the correct type of method for the given id. For example if
 your stat is a long then incLong must be called instead of incDouble.
 <p>
 Note that as of the 5.1 release the <code>incLong</code>, and
 <code>incDouble</code> methods no longer return the new value of the statistic. They now return
 <code>void</code>. This incompatible change was made to allow for a more efficient concurrent
 increment implementation.
 <P></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 3.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><A href="package-summary.html#statistics">Package introduction</A></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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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/Statistics.html#close--">close</a></span>()</code>
<div class="block">Closes these statistics.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#get-org.apache.geode.StatisticDescriptor-">get</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</code>
<div class="block">Returns the value of the identified statistic.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#get-java.lang.String-">get</a></span>(<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;name)</code>
<div class="block">Returns the value of the named statistic.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getDouble-int-">getDouble</a></span>(int&nbsp;id)</code>
<div class="block">Returns the value of the identified statistic of type <code>double</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getDouble-org.apache.geode.StatisticDescriptor-">getDouble</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</code>
<div class="block">Returns the value of the described statistic of type <code>double</code>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getDouble-java.lang.String-">getDouble</a></span>(<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;name)</code>
<div class="block">Returns the value of the statistic of type <code>double</code> at the given name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getInt-int-">getInt</a></span>(int&nbsp;id)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#getLong-int-"><code>getLong(int)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getInt-org.apache.geode.StatisticDescriptor-">getInt</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#getLong-org.apache.geode.StatisticDescriptor-"><code>getLong(StatisticDescriptor)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getInt-java.lang.String-">getInt</a></span>(<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;name)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#getLong-java.lang.String-"><code>getLong(String)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getLong-int-">getLong</a></span>(int&nbsp;id)</code>
<div class="block">Returns the value of the identified statistic of type <code>long</code>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getLong-org.apache.geode.StatisticDescriptor-">getLong</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</code>
<div class="block">Returns the value of the described statistic of type <code>long</code>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getLong-java.lang.String-">getLong</a></span>(<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;name)</code>
<div class="block">Returns the value of the statistic of type <code>long</code> at the given name.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getNumericId--">getNumericId</a></span>()</code>
<div class="block">Gets the number associated with this instance that helps identify it.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getRawBits-org.apache.geode.StatisticDescriptor-">getRawBits</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</code>
<div class="block">Returns the bits that represent the raw value of the described statistic.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getRawBits-java.lang.String-">getRawBits</a></span>(<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;name)</code>
<div class="block">Returns the bits that represent the raw value of the named statistic.</div>
</td>
</tr>
<tr id="i15" 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/geode/Statistics.html#getTextId--">getTextId</a></span>()</code>
<div class="block">Gets the text associated with this instance that helps identify it.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/geode/StatisticsType.html" title="interface in org.apache.geode">StatisticsType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getType--">getType</a></span>()</code>
<div class="block">Gets the <a href="../../../org/apache/geode/StatisticsType.html" title="interface in org.apache.geode"><code>StatisticsType</code></a> of this instance.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#getUniqueId--">getUniqueId</a></span>()</code>
<div class="block">Gets a value that uniquely identifies this statistics.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incDouble-int-double-">incDouble</a></span>(int&nbsp;id,
         double&nbsp;delta)</code>
<div class="block">Increments the value of the identified statistic of type <code>double</code> by the given
 amount.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incDouble-org.apache.geode.StatisticDescriptor-double-">incDouble</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
         double&nbsp;delta)</code>
<div class="block">Increments the value of the described statistic of type <code>double</code> by the given
 amount.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incDouble-java.lang.String-double-">incDouble</a></span>(<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;name,
         double&nbsp;delta)</code>
<div class="block">Increments the value of the statistic of type <code>double</code> with the given name by a
 given amount.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incInt-int-int-">incInt</a></span>(int&nbsp;id,
      int&nbsp;delta)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#incLong-int-long-"><code>incLong(int, long)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incInt-org.apache.geode.StatisticDescriptor-int-">incInt</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
      int&nbsp;delta)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#incLong-org.apache.geode.StatisticDescriptor-long-"><code>incLong(StatisticDescriptor, long)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incInt-java.lang.String-int-">incInt</a></span>(<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;name,
      int&nbsp;delta)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#incLong-java.lang.String-long-"><code>incLong(String, long)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incLong-int-long-">incLong</a></span>(int&nbsp;id,
       long&nbsp;delta)</code>
<div class="block">Increments the value of the identified statistic of type <code>long</code> by the given amount.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incLong-org.apache.geode.StatisticDescriptor-long-">incLong</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
       long&nbsp;delta)</code>
<div class="block">Increments the value of the described statistic of type <code>long</code> by the given amount.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#incLong-java.lang.String-long-">incLong</a></span>(<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;name,
       long&nbsp;delta)</code>
<div class="block">Increments the value of the statistic of type <code>long</code> with the given name by a given
 amount.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#isAtomic--">isAtomic</a></span>()</code>
<div class="block">Returns true if modifications are atomic.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#isClosed--">isClosed</a></span>()</code>
<div class="block">Returns true if the instance has been <a href="../../../org/apache/geode/Statistics.html#close--"><code>closed</code></a>.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-">nameToDescriptor</a></span>(<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;name)</code>
<div class="block">Returns the descriptor of the statistic with the given name in this statistics instance.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-">nameToId</a></span>(<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;name)</code>
<div class="block">Returns the id of the statistic with the given name in this statistics instance.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setDouble-int-double-">setDouble</a></span>(int&nbsp;id,
         double&nbsp;value)</code>
<div class="block">Sets the value of a statistic with the given <code>id</code> whose type is <code>double</code>.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setDouble-org.apache.geode.StatisticDescriptor-double-">setDouble</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
         double&nbsp;value)</code>
<div class="block">Sets the value of a described statistic of type <code>double</code></div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setDouble-java.lang.String-double-">setDouble</a></span>(<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;name,
         double&nbsp;value)</code>
<div class="block">Sets the value of a named statistic of type <code>double</code>.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setDoubleSupplier-int-java.util.function.DoubleSupplier-">setDoubleSupplier</a></span>(int&nbsp;id,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;supplier)</code>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setDoubleSupplier-org.apache.geode.StatisticDescriptor-java.util.function.DoubleSupplier-">setDoubleSupplier</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;supplier)</code>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setDoubleSupplier-java.lang.String-java.util.function.DoubleSupplier-">setDoubleSupplier</a></span>(<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;name,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;supplier)</code>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setInt-int-int-">setInt</a></span>(int&nbsp;id,
      int&nbsp;value)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLong-int-long-"><code>setLong(int, long)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setInt-org.apache.geode.StatisticDescriptor-int-">setInt</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
      int&nbsp;value)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLong-org.apache.geode.StatisticDescriptor-long-"><code>setLong(StatisticDescriptor, long)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setInt-java.lang.String-int-">setInt</a></span>(<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;name,
      int&nbsp;value)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLong-java.lang.String-long-"><code>setLong(String, long)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setIntSupplier-int-java.util.function.IntSupplier-">setIntSupplier</a></span>(int&nbsp;id,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;supplier)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLongSupplier-int-java.util.function.LongSupplier-"><code>setLongSupplier(int, LongSupplier)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setIntSupplier-org.apache.geode.StatisticDescriptor-java.util.function.IntSupplier-">setIntSupplier</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;supplier)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLongSupplier-org.apache.geode.StatisticDescriptor-java.util.function.LongSupplier-"><code>setLongSupplier(StatisticDescriptor, LongSupplier)</code></a>
             instead</span></div>
</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setIntSupplier-java.lang.String-java.util.function.IntSupplier-">setIntSupplier</a></span>(<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;name,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;supplier)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLongSupplier-java.lang.String-java.util.function.LongSupplier-"><code>setLongSupplier(String, LongSupplier)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setLong-int-long-">setLong</a></span>(int&nbsp;id,
       long&nbsp;value)</code>
<div class="block">Sets the value of a statistic with the given <code>id</code> whose type is <code>long</code>.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setLong-org.apache.geode.StatisticDescriptor-long-">setLong</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
       long&nbsp;value)</code>
<div class="block">Sets the value of a described statistic of type <code>long</code></div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setLong-java.lang.String-long-">setLong</a></span>(<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;name,
       long&nbsp;value)</code>
<div class="block">Sets the value of a named statistic of type <code>long</code>.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setLongSupplier-int-java.util.function.LongSupplier-">setLongSupplier</a></span>(int&nbsp;id,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;supplier)</code>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setLongSupplier-org.apache.geode.StatisticDescriptor-java.util.function.LongSupplier-">setLongSupplier</a></span>(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;supplier)</code>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/geode/Statistics.html#setLongSupplier-java.lang.String-java.util.function.LongSupplier-">setLongSupplier</a></span>(<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;name,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;supplier)</code>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.</div>
</td>
</tr>
</table>
</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="close--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
<div class="block">Closes these statistics. After statistics have been closed, they are no longer archived. A
 value access on a closed statistics always results in zero. A value modification on a closed
 statistics is ignored.</div>
</li>
</ul>
<a name="nameToId-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nameToId</h4>
<pre>int&nbsp;nameToId(<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;name)</pre>
<div class="block">Returns the id of the statistic with the given name in this statistics instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the id of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - No statistic named <code>name</code> exists in this statistics
         instance.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="nameToDescriptor-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nameToDescriptor</h4>
<pre><a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;nameToDescriptor(<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;name)</pre>
<div class="block">Returns the descriptor of the statistic with the given name in this statistics instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode"><code>descriptor</code></a> of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - No statistic named <code>name</code> exists in this statistics
         instance.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getUniqueId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUniqueId</h4>
<pre>long&nbsp;getUniqueId()</pre>
<div class="block">Gets a value that uniquely identifies this statistics.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a value that uniquely identifies this statistics</dd>
</dl>
</li>
</ul>
<a name="getType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getType</h4>
<pre><a href="../../../org/apache/geode/StatisticsType.html" title="interface in org.apache.geode">StatisticsType</a>&nbsp;getType()</pre>
<div class="block">Gets the <a href="../../../org/apache/geode/StatisticsType.html" title="interface in org.apache.geode"><code>StatisticsType</code></a> of this instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../org/apache/geode/StatisticsType.html" title="interface in org.apache.geode"><code>StatisticsType</code></a> of this instance</dd>
</dl>
</li>
</ul>
<a name="getTextId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTextId</h4>
<pre><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;getTextId()</pre>
<div class="block">Gets the text associated with this instance that helps identify it.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the text associated with this instance that helps identify it</dd>
</dl>
</li>
</ul>
<a name="getNumericId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericId</h4>
<pre>long&nbsp;getNumericId()</pre>
<div class="block">Gets the number associated with this instance that helps identify it.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number associated with this instance that helps identify it</dd>
</dl>
</li>
</ul>
<a name="isAtomic--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAtomic</h4>
<pre>boolean&nbsp;isAtomic()</pre>
<div class="block">Returns true if modifications are atomic. This means that multiple threads, can safely modify
 this instance without extra synchronization.
 <p>
 Returns false if modifications are not atomic. This means that modifications to this instance
 are cheaper but not thread safe.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether modifications are atomic</dd>
</dl>
</li>
</ul>
<a name="isClosed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre>boolean&nbsp;isClosed()</pre>
<div class="block">Returns true if the instance has been <a href="../../../org/apache/geode/Statistics.html#close--"><code>closed</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the instance has been <a href="../../../org/apache/geode/Statistics.html#close--"><code>closed</code></a>.</dd>
</dl>
</li>
</ul>
<a name="setInt-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;setInt(int&nbsp;id,
                        int&nbsp;value)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLong-int-long-"><code>setLong(int, long)</code></a> instead</span></div>
<div class="block">Sets the value of a statistic with the given <code>id</code> whose type is <code>int</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="setInt-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;setInt(<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;name,
                        int&nbsp;value)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLong-java.lang.String-long-"><code>setLong(String, long)</code></a> instead</span></div>
<div class="block">Sets the value of a named statistic of type <code>int</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists named <code>name</code> or if the
         statistic with name <code>name</code> is not of type <code>int</code>.</dd>
</dl>
</li>
</ul>
<a name="setInt-org.apache.geode.StatisticDescriptor-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;setInt(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
                        int&nbsp;value)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLong-org.apache.geode.StatisticDescriptor-long-"><code>setLong(StatisticDescriptor, long)</code></a> instead</span></div>
<div class="block">Sets the value of a described statistic of type <code>int</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists for the given <code>descriptor</code>
         or if the described statistic is not of type <code>int</code>.</dd>
</dl>
</li>
</ul>
<a name="setLong-int-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLong</h4>
<pre>void&nbsp;setLong(int&nbsp;id,
             long&nbsp;value)</pre>
<div class="block">Sets the value of a statistic with the given <code>id</code> whose type is <code>long</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="setLong-org.apache.geode.StatisticDescriptor-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLong</h4>
<pre>void&nbsp;setLong(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
             long&nbsp;value)</pre>
<div class="block">Sets the value of a described statistic of type <code>long</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists for the given <code>descriptor</code>
         or if the described statistic is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="setLong-java.lang.String-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLong</h4>
<pre>void&nbsp;setLong(<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;name,
             long&nbsp;value)</pre>
<div class="block">Sets the value of a named statistic of type <code>long</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists named <code>name</code> or if the
         statistic with name <code>name</code> is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="setDouble-int-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDouble</h4>
<pre>void&nbsp;setDouble(int&nbsp;id,
               double&nbsp;value)</pre>
<div class="block">Sets the value of a statistic with the given <code>id</code> whose type is <code>double</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="setDouble-org.apache.geode.StatisticDescriptor-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDouble</h4>
<pre>void&nbsp;setDouble(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
               double&nbsp;value)</pre>
<div class="block">Sets the value of a described statistic of type <code>double</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists for the given <code>descriptor</code>
         or if the described statistic is not of type <code>double</code>.</dd>
</dl>
</li>
</ul>
<a name="setDouble-java.lang.String-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDouble</h4>
<pre>void&nbsp;setDouble(<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;name,
               double&nbsp;value)</pre>
<div class="block">Sets the value of a named statistic of type <code>double</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dd><code>value</code> - the value to set the statistic to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists named <code>name</code> or if the
         statistic with name <code>name</code> is not of type <code>double</code>.</dd>
</dl>
</li>
</ul>
<a name="getInt-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
int&nbsp;getInt(int&nbsp;id)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#getLong-int-"><code>getLong(int)</code></a> instead</span></div>
<div class="block">Returns the value of the identified statistic of type <code>int</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="getInt-org.apache.geode.StatisticDescriptor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
int&nbsp;getInt(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#getLong-org.apache.geode.StatisticDescriptor-"><code>getLong(StatisticDescriptor)</code></a> instead</span></div>
<div class="block">Returns the value of the described statistic of type <code>int</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the specified
         <code>descriptor</code> or if the described statistic is not of type <code>int</code>.</dd>
</dl>
</li>
</ul>
<a name="getInt-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
int&nbsp;getInt(<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;name)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#getLong-java.lang.String-"><code>getLong(String)</code></a> instead</span></div>
<div class="block">Returns the value of the statistic of type <code>int</code> at the given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>int</code>.</dd>
</dl>
</li>
</ul>
<a name="getLong-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>long&nbsp;getLong(int&nbsp;id)</pre>
<div class="block">Returns the value of the identified statistic of type <code>long</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="getLong-org.apache.geode.StatisticDescriptor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>long&nbsp;getLong(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">Returns the value of the described statistic of type <code>long</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the specified
         <code>descriptor</code> or if the described statistic is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="getLong-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre>long&nbsp;getLong(<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;name)</pre>
<div class="block">Returns the value of the statistic of type <code>long</code> at the given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="getDouble-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre>double&nbsp;getDouble(int&nbsp;id)</pre>
<div class="block">Returns the value of the identified statistic of type <code>double</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="getDouble-org.apache.geode.StatisticDescriptor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre>double&nbsp;getDouble(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">Returns the value of the described statistic of type <code>double</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the specified
         <code>descriptor</code> or if the described statistic is not of type
         <code>double</code>.</dd>
</dl>
</li>
</ul>
<a name="getDouble-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre>double&nbsp;getDouble(<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;name)</pre>
<div class="block">Returns the value of the statistic of type <code>double</code> at the given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>double</code>.</dd>
</dl>
</li>
</ul>
<a name="get-org.apache.geode.StatisticDescriptor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&nbsp;get(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">Returns the value of the identified statistic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the described statistic does not exist</dd>
</dl>
</li>
</ul>
<a name="get-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&nbsp;get(<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;name)</pre>
<div class="block">Returns the value of the named statistic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the named statistic does not exist</dd>
</dl>
</li>
</ul>
<a name="getRawBits-org.apache.geode.StatisticDescriptor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawBits</h4>
<pre>long&nbsp;getRawBits(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">Returns the bits that represent the raw value of the described statistic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - a statistic descriptor obtained with <a href="../../../org/apache/geode/Statistics.html#nameToDescriptor-java.lang.String-"><code>nameToDescriptor(java.lang.String)</code></a> or
        <a href="../../../org/apache/geode/StatisticsType.html#nameToDescriptor-java.lang.String-"><code>StatisticsType.nameToDescriptor(java.lang.String)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the bits that represent the raw value of the named statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the described statistic does not exist</dd>
</dl>
</li>
</ul>
<a name="getRawBits-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawBits</h4>
<pre>long&nbsp;getRawBits(<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;name)</pre>
<div class="block">Returns the bits that represent the raw value of the named statistic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the bits that represent the raw value of the named statistic</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the named statistic does not exist</dd>
</dl>
</li>
</ul>
<a name="incInt-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;incInt(int&nbsp;id,
                        int&nbsp;delta)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#incLong-int-long-"><code>incLong(int, long)</code></a> instead</span></div>
<div class="block">Increments the value of the identified statistic of type <code>int</code> by the given amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="incInt-org.apache.geode.StatisticDescriptor-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;incInt(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
                        int&nbsp;delta)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#incLong-org.apache.geode.StatisticDescriptor-long-"><code>incLong(StatisticDescriptor, long)</code></a> instead</span></div>
<div class="block">Increments the value of the described statistic of type <code>int</code> by the given amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor for the statistic to increment</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the given <code>descriptor</code>
         or if the described statistic is not of type <code>int</code>.</dd>
</dl>
</li>
</ul>
<a name="incInt-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incInt</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
void&nbsp;incInt(<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;name,
                        int&nbsp;delta)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#incLong-java.lang.String-long-"><code>incLong(String, long)</code></a> instead</span></div>
<div class="block">Increments the value of the statistic of type <code>int</code> with the given name by a given
 amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic to increment</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>int</code>.</dd>
</dl>
</li>
</ul>
<a name="incLong-int-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incLong</h4>
<pre>void&nbsp;incLong(int&nbsp;id,
             long&nbsp;delta)</pre>
<div class="block">Increments the value of the identified statistic of type <code>long</code> by the given amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="incLong-org.apache.geode.StatisticDescriptor-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incLong</h4>
<pre>void&nbsp;incLong(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
             long&nbsp;delta)</pre>
<div class="block">Increments the value of the described statistic of type <code>long</code> by the given amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor for the statistic to increment</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the given <code>descriptor</code>
         or if the described statistic is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="incLong-java.lang.String-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incLong</h4>
<pre>void&nbsp;incLong(<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;name,
             long&nbsp;delta)</pre>
<div class="block">Increments the value of the statistic of type <code>long</code> with the given name by a given
 amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic to increment</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="incDouble-int-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incDouble</h4>
<pre>void&nbsp;incDouble(int&nbsp;id,
               double&nbsp;delta)</pre>
<div class="block">Increments the value of the identified statistic of type <code>double</code> by the given
 amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code> - If the id is invalid.</dd>
</dl>
</li>
</ul>
<a name="incDouble-org.apache.geode.StatisticDescriptor-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incDouble</h4>
<pre>void&nbsp;incDouble(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
               double&nbsp;delta)</pre>
<div class="block">Increments the value of the described statistic of type <code>double</code> by the given
 amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor for the statistic to increment</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the given <code>descriptor</code>
         or if the described statistic is not of type <code>double</code>.</dd>
</dl>
</li>
</ul>
<a name="incDouble-java.lang.String-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incDouble</h4>
<pre>void&nbsp;incDouble(<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;name,
               double&nbsp;delta)</pre>
<div class="block">Increments the value of the statistic of type <code>double</code> with the given name by a
 given amount.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic to increment</dd>
<dd><code>delta</code> - the amount by which to increment the statistic value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>double</code>.</dd>
</dl>
</li>
</ul>
<a name="setIntSupplier-int-java.util.function.IntSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIntSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;setIntSupplier(int&nbsp;id,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;supplier)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLongSupplier-int-java.util.function.LongSupplier-"><code>setLongSupplier(int, LongSupplier)</code></a> instead</span></div>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by long running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the id is invalid.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setIntSupplier-java.lang.String-java.util.function.IntSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIntSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;setIntSupplier(<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;name,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;supplier)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLongSupplier-java.lang.String-java.util.function.LongSupplier-"><code>setLongSupplier(String, LongSupplier)</code></a> instead</span></div>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by long running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic to update</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>int</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setIntSupplier-org.apache.geode.StatisticDescriptor-java.util.function.IntSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIntSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;setIntSupplier(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/IntSupplier.html?is-external=true" title="class or interface in java.util.function">IntSupplier</a>&nbsp;supplier)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">as of Geode 1.10, use <a href="../../../org/apache/geode/Statistics.html#setLongSupplier-org.apache.geode.StatisticDescriptor-java.util.function.LongSupplier-"><code>setLongSupplier(StatisticDescriptor, LongSupplier)</code></a>
             instead</span></div>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by long running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor of the statistic to update</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the given <code>descriptor</code>
         or if the described statistic is not of type <code>int</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setLongSupplier-int-java.util.function.LongSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLongSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;setLongSupplier(int&nbsp;id,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;supplier)</pre>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by long running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the id is invalid.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setLongSupplier-java.lang.String-java.util.function.LongSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLongSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;setLongSupplier(<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;name,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;supplier)</pre>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by long running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic to update</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>long</code>.</dd>
</dl>
</li>
</ul>
<a name="setLongSupplier-org.apache.geode.StatisticDescriptor-java.util.function.LongSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLongSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;setLongSupplier(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/LongSupplier.html?is-external=true" title="class or interface in java.util.function">LongSupplier</a>&nbsp;supplier)</pre>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by long running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor of the statistic to update</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the given <code>descriptor</code>
         or if the described statistic is not of type <code>long</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setDoubleSupplier-int-java.util.function.DoubleSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDoubleSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;setDoubleSupplier(int&nbsp;id,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;supplier)</pre>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by double running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - a statistic id obtained with <a href="../../../org/apache/geode/Statistics.html#nameToId-java.lang.String-"><code>nameToId(java.lang.String)</code></a> or <a href="../../../org/apache/geode/StatisticsType.html#nameToId-java.lang.String-"><code>StatisticsType.nameToId(java.lang.String)</code></a>.</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If the id is invalid.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setDoubleSupplier-java.lang.String-java.util.function.DoubleSupplier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDoubleSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;setDoubleSupplier(<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;name,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;supplier)</pre>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by double running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the statistic to update</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with name <code>name</code> or if the
         statistic named <code>name</code> is not of type <code>double</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</dd>
</dl>
</li>
</ul>
<a name="setDoubleSupplier-org.apache.geode.StatisticDescriptor-java.util.function.DoubleSupplier-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setDoubleSupplier</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;setDoubleSupplier(<a href="../../../org/apache/geode/StatisticDescriptor.html" title="interface in org.apache.geode">StatisticDescriptor</a>&nbsp;descriptor,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleSupplier.html?is-external=true" title="class or interface in java.util.function">DoubleSupplier</a>&nbsp;supplier)</pre>
<div class="block">Provide a callback to compute the value of this statistic every sample interval and use that as
 the value of the stat.
 <p>
 The callback should return quickly because it is invoked on a shared thread. It should not do
 any expensive computations, network calls, or access any resources under locks that may be
 locked by double running processes.
 <p>
 This callback will only be invoked if the distributed system property
 statistic-sampling-enabled is set to true, and it will be invoked at intervals determined by
 the statistic-sampling-rate.
 <p>
 Get methods are not guaranteed to recompute a new value, they may return the last sampled value</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor of the statistic to update</dd>
<dd><code>supplier</code> - a callback that will return the value of the stat. This replaces any previously
        registered supplier. If the passed in supplier is null, it will remove any existing
        supplier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previously registered supplier, or null if there was no previously registered
         supplier</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If no statistic exists with the given <code>descriptor</code>
         or if the described statistic is not of type <code>double</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Geode 1.0</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/StatisticDescriptor.html" title="interface in org.apache.geode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/geode/StatisticsFactory.html" title="interface in org.apache.geode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/geode/Statistics.html" target="_top">Frames</a></li>
<li><a href="Statistics.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>
