stasis/je-7.5.11/docs/java/com/sleepycat/je/EnvironmentStats.html

5942 lines
267 KiB
HTML
Raw Normal View History

2019-06-25 20:12:40 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_151) on Tue Oct 31 17:36:45 EDT 2017 -->
<title>EnvironmentStats (Oracle - Berkeley DB Java Edition API)</title>
<meta name="date" content="2017-10-31">
<link rel="stylesheet" type="text/css" href="../../../style.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="EnvironmentStats (Oracle - Berkeley DB Java Edition API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":10,"i9":42,"i10":10,"i11":42,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":42,"i24":42,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":42,"i33":42,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":42,"i42":42,"i43":42,"i44":42,"i45":42,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":10,"i62":10,"i63":10,"i64":42,"i65":42,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":42,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":42,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":42,"i120":10,"i121":10,"i122":10,"i123":42,"i124":42,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":42,"i155":42,"i156":42,"i157":42,"i158":42,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":10,"i180":10,"i181":10,"i182":10,"i183":10,"i184":10,"i185":10,"i186":10,"i187":10,"i188":10,"i189":10,"i190":10,"i191":10,"i192":10,"i193":10,"i194":10,"i195":10,"i196":10,"i197":10,"i198":10,"i199":10,"i200":10,"i201":42,"i202":10,"i203":10,"i204":10,"i205":10,"i206":10,"i207":10,"i208":10,"i209":10,"i210":10,"i211":10,"i212":10,"i213":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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="class-use/EnvironmentStats.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/sleepycat/je/EnvironmentNotFoundException.html" title="class in com.sleepycat.je"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentWedgedException.html" title="class in com.sleepycat.je"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/sleepycat/je/EnvironmentStats.html" target="_top">Frames</a></li>
<li><a href="EnvironmentStats.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">com.sleepycat.je</div>
<h2 title="Class EnvironmentStats" class="title">Class EnvironmentStats</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.sleepycat.je.EnvironmentStats</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">EnvironmentStats</span>
extends java.lang.Object
implements java.io.Serializable</pre>
<div class="block">Statistics for a single environment. Statistics provide indicators for
system monitoring and performance tuning.
<p>Each statistic has a name and a getter method in this class. For example,
the <code>cacheTotalBytes</code> stat is returned by the <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--"><code>getCacheTotalBytes()</code></a> method. Statistics are categorized into several
groups, for example, <code>cacheTotalBytes</code> is in the <code>Cache</code>
group. Each stat and group has a name and a description.</p>
<p>Viewing the statistics through <a href="../../../com/sleepycat/je/EnvironmentStats.html#toString--"><code>toString()</code></a> shows the stat names
and values organized by group. Viewing the stats with <a href="../../../com/sleepycat/je/EnvironmentStats.html#toStringVerbose--"><code>toStringVerbose()</code></a> additionally shows the description of each stat and
group.</p>
<p>Statistics are periodically output in CSV format to the je.stat.csv file
(see <a href="../../../com/sleepycat/je/EnvironmentConfig.html#STATS_COLLECT"><code>EnvironmentConfig.STATS_COLLECT</code></a>). The column header in the .csv
file has <code>group:stat</code> format, where 'group' is the group name and
'stat' is the stat name. In Oracle NoSQL DB, in the addition to the .csv
file, JE stats are output in the .stat files.</p>
<p>Stat values may also be obtained via JMX using the <a
href="../../../../jconsole/JConsole-plugin.html">JEMonitor mbean</a>.
In Oracle NoSQL DB, JE stats are obtained via a different JMX interface in
JSON format. The JSON format uses property names of the form <code>group_stat</code> where 'group' is the group name and 'stat' is the stat name.</p>
<p>The stat groups are listed below. Each group name links to a summary of
the statistics in the group.</p>
<table>
<tr>
<th>Group Name</th>
<th>Description</th>
</tr>
<tr>
<td><a href="#cache">"Cache"
</a></td>
<td>"The main cache resides in the Java heap and holds data, keys, Btree internal nodes, locks and JE metadata."
</td>
</tr>
<tr>
<td><a href="#cache">"OffHeap"
</a></td>
<td>"The optional off-heap cache resides outside the Java heap and serves as an overflow area for the main cache."
</td>
</tr>
<tr>
<td><a href="#log">"I/O"
</a></td>
<td>"The I/O portion of the append-only storage system includes access to data files and caching of file handles."
</td>
</tr>
<tr>
<td><a href="#cleaner">"Cleaning"
</a></td>
<td>"Log cleaning involves garbage collection of data files in the append-only storage system."
</td>
</tr>
<tr>
<td><a href="#incomp">"Node Compression"
</a></td>
<td>"Deleted records are removed from Btree internal nodes asynchronously and nodes are deleted when they become empty."
</td>
</tr>
<tr>
<td><a href="#ckpt">"Checkpoints"
</a></td>
<td>"Dirty Btree internal nodes are written to the data log periodically to bound recovery time."
</td>
</tr>
<tr>
<td><a href="#lock">"Locks"
</a></td>
<td>"Record locking is used to provide transactional capabilities."
</td>
</tr>
<tr>
<td><a href="#env">"Environment"
</a></td>
<td>"Miscellaneous environment wide statistics."
</td>
</tr>
</table>
<p>The following sections describe each group of stats along with some
common strategies for using them for monitoring and performance tuning.</p>
<h3><a name="cache">Cache Statistics</a></h3>
<p style="margin-left: 2em">Group Name: "Cache"
<br/>Description: "The main cache resides in the Java heap and holds data, keys, Btree internal nodes, locks and JE metadata."</p>
<p style="margin-left: 2em">Group Name: "OffHeap"
<br/>Description: "The optional off-heap cache resides outside the Java heap and serves as an overflow area for the main cache."</p>
<p>The JE cache consists of the main (in-heap) cache and and optional
off-heap cache. The vast majority of the cache is occupied by Btree nodes,
including internal nodes (INs) and leaf nodes (LNs). INs contain record keys
while LNs contain record data.</p>
<p>Each IN refers to a configured maximum number of child nodes (<a href="../../../com/sleepycat/je/EnvironmentConfig.html#NODE_MAX_ENTRIES"><code>EnvironmentConfig.NODE_MAX_ENTRIES</code></a>). The INs form a Btree of at least 2
levels. With a large data set the Btree will normally have 4 or 5 levels.
The top level is a single node, the root IN. Levels are numbered from the
bottom up, starting with level 1 for bottom level INs (BINs). Levels are
added at the top when the root IN splits.</p>
<p>When an off-heap cache is configured, it serves as an overflow for the
main cache. See <a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_OFF_HEAP_MEMORY"><code>EnvironmentConfig.MAX_OFF_HEAP_MEMORY</code></a>.</p>
<h4><a name="cacheSizing">Cache Statistics: Sizing</a></h4>
<p>Operation performance is often directly proportional to how much of the
active data set is cached. BINs and LNs form the vast majority of the cache.
Caching of BINs and LNs have different performance impacts, and behavior
varies depending on whether an off-heap cache is configured and which <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> is used.</p>
<p>Main cache current usage is indicated by the following stats. Note that
there is currently no stat for the number of LNs in the main cache.</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--"><code>getCacheTotalBytes()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCachedBINs--"><code>getNCachedBINs()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCachedBINDeltas--"><code>getNCachedBINDeltas()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCachedUpperINs--"><code>getNCachedUpperINs()</code></a></li>
</ul>
<p>Off-heap cache current usage is indicated by:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapTotalBytes--"><code>getOffHeapTotalBytes()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedLNs--"><code>getOffHeapCachedLNs()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedBINs--"><code>getOffHeapCachedBINs()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedBINDeltas--"><code>getOffHeapCachedBINDeltas()</code></a></li>
</ul>
</p>
<p>A cache miss is considered a miss only when the object is not found in
either cache. Misses often result in file I/O and are a primary indicator
of cache performance. Fetches (access requests) and misses are indicated
by:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsFetch--"><code>getNLNsFetch()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsFetchMiss--"><code>getNLNsFetchMiss()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetch--"><code>getNBINsFetch()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetchMiss--"><code>getNBINsFetchMiss()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasFetchMiss--"><code>getNBINDeltasFetchMiss()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFullBINsMiss--"><code>getNFullBINsMiss()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsFetch--"><code>getNUpperINsFetch()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsFetchMiss--"><code>getNUpperINsFetchMiss()</code></a></li>
</ul>
<p>When the number of LN misses (<code>nLNsFetchMiss</code>) or the number of
BIN misses (<code>nBINsFetchMiss + nFullBINsMiss</code>) are significant, the
JE cache may be undersized, as discussed below. But note that it is not
practical to correlate the number of fetches and misses directly to
application operations, because LNs are sometimes
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>embedded</code></a>, BINs are sometimes
accessed multiple times per operation, and internal Btree accesses are
included in the stat values.</p>
<p>Ideally, all BINs and LNs for the active data set should fit in cache so
that operations do not result in fetch misses, which often perform random
read I/O. When this is not practical, which is often the case for large
data sets, the next best thing is to ensure that all BINs fit in cache,
so that an operation will perform at most one random read I/O to fetch
the LN. The <a href="../../../com/sleepycat/je/util/DbCacheSize.html" title="class in com.sleepycat.je.util"><code>DbCacheSize</code></a> javadoc describes how to size the cache
to ensure that all BINs and/or LNs fit in cache.</p>
<p>Normally <a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_MEMORY_PERCENT"><code>EnvironmentConfig.MAX_MEMORY_PERCENT</code></a> determines the JE
cache size as a value relative to the JVM heap size, i.e., the heap size
determines the cache size.</p>
<p>For configuring cache size and behavior, see:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_MEMORY_PERCENT"><code>EnvironmentConfig.MAX_MEMORY_PERCENT</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_MEMORY"><code>EnvironmentConfig.MAX_MEMORY</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_OFF_HEAP_MEMORY"><code>EnvironmentConfig.MAX_OFF_HEAP_MEMORY</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentMutableConfig.html#setCacheMode-com.sleepycat.je.CacheMode-"><code>EnvironmentMutableConfig.setCacheMode(CacheMode)</code></a></li>
<li><a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a></li>
<li><a href="../../../com/sleepycat/je/util/DbCacheSize.html" title="class in com.sleepycat.je.util"><code>DbCacheSize</code></a></li>
</ul>
<p>When using Oracle NoSQL DB, a sizing exercise and <a href="../../../com/sleepycat/je/util/DbCacheSize.html" title="class in com.sleepycat.je.util"><code>DbCacheSize</code></a> are
used to determine the cache size needed to hold all BINs in memory. The
memory available to each node is divided between a 32 GB heap for the JVM
process (so that CompressedOops may be used) and the off-heap cache (when
more than 32 GB of memory is available).</p>
<p>It is also important not to configured the cache size too large, relative
to the JVM heap size. If there is not enough free space in the heap, Java
GC pauses may become a problem. Increasing the default value for <code>MAX_MEMORY_PERCENT</code>, or setting <code>MAX_MEMORY</code> (which overrides <code>MAX_MEMORY_PERCENT</code>), should be done carefully.</p>
<p>Java GC performance may also be improved by using <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a>. Record data sizes should also be kept below 1 MB to
avoid "humongous objects" (see Java GC documentation).</p>
<p>When using Oracle NoSQL DB, by default, <code>MAX_MEMORY_PERCENT</code> is
set to 70% and <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a> is used. The LOB (large object)
API is implemented using multiple JE records per LOB where the data size of
each record is 1 MB or less.</p>
<p>When a shared cache is configured, the main and off-heap cache may be
shared by multiple JE Environments in a single JVM process. See:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#SHARED_CACHE"><code>EnvironmentConfig.SHARED_CACHE</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSharedCacheTotalBytes--"><code>getSharedCacheTotalBytes()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNSharedCacheEnvironments--"><code>getNSharedCacheEnvironments()</code></a></li>
</ul>
<p>When using Oracle NoSQL DB, the JE shared cache feature is not used
because each node only uses a single JE Environment.</p>
<h4><a name="cacheSizeOptimizations">Cache Statistics: Size
Optimizations</a></h4>
<p>Since a large portion of an IN consists of record keys, JE uses
<a href="../../../com/sleepycat/je/DatabaseConfig.html#setKeyPrefixing-boolean-"><code>key prefix compression</code></a>.
Ideally, key suffixes are small enough to be stored using the <a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_COMPACT_MAX_KEY_LENGTH"><code>compact key format</code></a>. The
following stat indicates the number of INs using this compact format:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINCompactKeyIN--"><code>getNINCompactKeyIN()</code></a></li>
</ul>
<p>Configuration params impacting key prefixing and the compact key format
are:</p>
<ul>
<li><a href="../../../com/sleepycat/je/DatabaseConfig.html#setKeyPrefixing-boolean-"><code>DatabaseConfig.setKeyPrefixing(boolean)</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_COMPACT_MAX_KEY_LENGTH"><code>EnvironmentConfig.TREE_COMPACT_MAX_KEY_LENGTH</code></a></li>
</ul>
<p>Enabling key prefixing for all databases is strongly recommended. When
using Oracle NoSQL DB, key prefixing is always enabled.</p>
<p>Another configuration param impacting BIN cache size is <code>TREE_MAX_EMBEDDED_LN</code>. There is currently no stat indicating the number of
embedded LNs. See:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>EnvironmentConfig.TREE_MAX_EMBEDDED_LN</code></a></li>
</ul>
<h4><a name="cacheUnexpectedSizes">Cache Statistics: Unexpected
Sizes</a></h4>
<p>Although the Btree normally occupies the vast majority of the cache, it
is possible that record locks occupy unexpected amounts of cache when
large transactions are used, or when cursors or transactions are left open
due to application bugs. The following stat indicates the amount of cache
used by record locks:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLockBytes--"><code>getLockBytes()</code></a></li>
</ul>
<p>To reduce the amount of memory used for record locks:</p>
<ul>
<li>Use a small number of write operations per transaction. Write
locks are held until the end of a transaction.</li>
<li>For transactions using Serializable isolation or RepeatableRead
isolation (the default), use a small number of read operations per
transaction.</li>
<li>To read large numbers of records, use <a href="../../../com/sleepycat/je/LockMode.html#READ_COMMITTED"><code>LockMode.READ_COMMITTED</code></a> isolation or use a null Transaction (which
implies ReadCommitted). With ReadCommitted isolation, locks are
released after each read operation. Using <a href="../../../com/sleepycat/je/LockMode.html#READ_UNCOMMITTED"><code>LockMode.READ_UNCOMMITTED</code></a> will also avoid record locks, but does not
provide any transactional guarantees.</li>
<li>Ensure that all cursors and transactions are closed
promptly.</li>
</ul>
<p>Note that the above guidelines are also important for reducing contention
when records are accessed concurrently from multiple threads and
transactions. When using Oracle NoSQL DB, the application should avoid
performing a large number of write operations in a single request. For read
operations, NoSQL DB uses ReadCommitted isolation to avoid accumulation of
locks.</p>
<p>Another unexpected use of cache is possible when using a <a href="../../../com/sleepycat/je/DiskOrderedCursor.html" title="class in com.sleepycat.je"><code>DiskOrderedCursor</code></a> or when calling <a href="../../../com/sleepycat/je/Database.html#count--"><code>Database.count()</code></a>. The amount of
cache used by these operations is indicated by:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDOSBytes--"><code>getDOSBytes()</code></a></li>
</ul>
<p><code>DiskOrderedCursor</code> and <code>Database.count</code> should normally be
explicitly constrained to use a maximum amount of cache memory. See:</p>
<ul>
<li><a href="../../../com/sleepycat/je/DiskOrderedCursorConfig.html#setInternalMemoryLimit-long-"><code>DiskOrderedCursorConfig.setInternalMemoryLimit(long)</code></a></li>
<li><a href="../../../com/sleepycat/je/Database.html#count-long-"><code>Database.count(long)</code></a></li>
</ul>
<p>Oracle NoSQL DB does not currently use <code>DiskOrderedCursor</code> or
<code>Database.count</code>.</p>
<h4><a name="cacheEviction">Cache Statistics: Eviction</a></h4>
<p>Eviction is removal of Btree node from the cache in order to make room
for newly added nodes. See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of
eviction.</p>
<p>Normally eviction is performed via background threads in the eviction
thread pools. Disabling the eviction pool threads is not recommended.</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#ENV_RUN_EVICTOR"><code>EnvironmentConfig.ENV_RUN_EVICTOR</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#ENV_RUN_OFFHEAP_EVICTOR"><code>EnvironmentConfig.ENV_RUN_OFFHEAP_EVICTOR</code></a></li>
</ul>
<p>Eviction stats are important indicator of cache efficiency and provide a
deeper understanding of cache behavior. Main cache eviction is indicated
by:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsEvicted--"><code>getNLNsEvicted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMutated--"><code>getNNodesMutated()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesEvicted--"><code>getNNodesEvicted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNDirtyNodesEvicted--"><code>getNDirtyNodesEvicted()</code></a></li>
</ul>
<p>Note that objects evicted from the main cache are moved to the off-heap
cache whenever possible.</p>
<p>Off-heap cache eviction is indicated by:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsEvicted--"><code>getOffHeapLNsEvicted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesMutated--"><code>getOffHeapNodesMutated()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesEvicted--"><code>getOffHeapNodesEvicted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapDirtyNodesEvicted--"><code>getOffHeapDirtyNodesEvicted()</code></a></li>
</ul>
<p>When analyzing Java GC performance, the most relevant stats are <code>NLNsEvicted</code>, <code>NNodesMutated</code> and <code>NNodesEvicted</code>, which all
indicate eviction from the main cache based on LRU. Large values for these
stats indicate that many old generation Java objects are being GC'd, which
is often a cause of GC pauses.</p>
<p>Note that <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a> is used or when LNs are <a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>embedded</code></a>, <code>NLNsEvicted</code> will
be close to zero because LNs are not evicted based on LRU. And if an
off-heap cache is configured, <code>NNodesMutated</code> will be close to zero
because BIN mutation takes place in the off-heap cache. If any of the three
values are large, this points to a potential GC performance problem. The GC
logs should be consulted to confirm this.</p>
<p>Large values for <code>NDirtyNodesEvicted</code> or <code>OffHeapDirtyNodesEvicted</code> indicate that the cache is severely undersized and
there is a risk of using all available disk space and severe performance
problems. Dirty nodes are evicted last (after evicting all non-dirty nodes)
because they must be written to disk. This causes excessive writing and JE
log cleaning may be unproductive.</p>
<p>Note that when an off-heap cache is configured, <code>NDirtyNodesEvicted</code> will be zero because dirty nodes in the main cache are
moved to the off-heap cache if they don't fit in the main cache, and are
evicted completely and written to disk only when they don't fit in the
off-heap cache.</p>
<p>Another type of eviction tuning for the main cache involves changing the
number of bytes evicted each time an evictor thread is awoken:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_EVICT_BYTES"><code>EnvironmentConfig.EVICTOR_EVICT_BYTES</code></a></li>
</ul>
<p>If the number of bytes is too large, it may cause a noticeable spike in
eviction activity, reducing resources available to other threads. If the
number of bytes is too small, the overhead of waking the evictor threads
more often may be noticeable. The default values for this parameter is
generally a good compromise. This parameter also impacts critical eviction,
which is described next.</p>
<p>Note that the corresponding parameter for the off-heap cache, <a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_EVICT_BYTES"><code>EnvironmentConfig.OFFHEAP_EVICT_BYTES</code></a>, works differently and is described
in the next section.</p>
<h4><a name="cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></h4>
<p>The following stats indicate that critical eviction is occurring:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedCritical--"><code>getNBytesEvictedCritical()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedCacheMode--"><code>getNBytesEvictedCacheMode()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedDeamon--"><code>getNBytesEvictedDeamon()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedEvictorThread--"><code>getNBytesEvictedEvictorThread()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedManual--"><code>getNBytesEvictedManual()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCriticalNodesTargeted--"><code>getOffHeapCriticalNodesTargeted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesTargeted--"><code>getOffHeapNodesTargeted()</code></a></li>
</ul>
<p>Eviction is performed by eviction pool threads, calls to <a href="../../../com/sleepycat/je/Environment.html#evictMemory--"><code>Environment.evictMemory()</code></a> in application background threads, or via <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a> or <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_BIN"><code>CacheMode.EVICT_BIN</code></a>. If these mechanisms are
not sufficient to evict memory from cache as quickly as CRUD operations are
adding memory to cache, then critical eviction comes into play. Critical
eviction is performed in-line in the thread performing the CRUD operation,
which is very undesirable since it increases operation latency.</p>
<p>Critical eviction in the main cache is indicated by large values for
<code>NBytesEvictedCritical</code>, as compared to the other <code>NBytesEvictedXXX</code> stats. Critical eviction in the off-heap cache is
indicated by large values for <code>OffHeapCriticalNodesTargeted</code> compared
to <code>OffHeapNodesTargeted</code>.</p>
<p>Additional stats indicating that background eviction threads may be
insufficient are:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNThreadUnavailable--"><code>getNThreadUnavailable()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapThreadUnavailable--"><code>getOffHeapThreadUnavailable()</code></a></li>
</ul>
<p>Critical eviction can sometimes be reduced by changing <a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_CRITICAL_PERCENTAGE"><code>EnvironmentConfig.EVICTOR_CRITICAL_PERCENTAGE</code></a> or modifying the eviction
thread pool parameters.</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_CRITICAL_PERCENTAGE"><code>EnvironmentConfig.EVICTOR_CRITICAL_PERCENTAGE</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_CORE_THREADS"><code>EnvironmentConfig.EVICTOR_CORE_THREADS</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_MAX_THREADS"><code>EnvironmentConfig.EVICTOR_MAX_THREADS</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_KEEP_ALIVE"><code>EnvironmentConfig.EVICTOR_KEEP_ALIVE</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_CORE_THREADS"><code>EnvironmentConfig.OFFHEAP_CORE_THREADS</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_MAX_THREADS"><code>EnvironmentConfig.OFFHEAP_MAX_THREADS</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_KEEP_ALIVE"><code>EnvironmentConfig.OFFHEAP_KEEP_ALIVE</code></a></li>
</ul>
<p>When using Oracle NoSQL DB, <code>EVICTOR_CRITICAL_PERCENTAGE</code> is set to
20% rather than using the JE default of 0%.</p>
<p>In the main cache, critical eviction uses the same parameter as
background eviction for determining how many bytes to evict at one
time:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_EVICT_BYTES"><code>EnvironmentConfig.EVICTOR_EVICT_BYTES</code></a></li>
</ul>
<p>Be careful when increasing this value, since this will cause longer
operation latencies when critical eviction is occurring in the main
cache.</p>
<p>The corresponding parameter for the off-heap cache, <code>OFFHEAP_EVICT_BYTES</code>, works differently:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_EVICT_BYTES"><code>EnvironmentConfig.OFFHEAP_EVICT_BYTES</code></a></li>
</ul>
<p>Unlike in the main cache, <code>OFFHEAP_EVICT_BYTES</code> defines the goal
for background eviction to be below <code>MAX_OFF_HEAP_MEMORY</code>. The
background evictor threads for the off-heap cache attempt to maintain the
size of the off-heap cache at <code>MAX_OFF_HEAP_MEMORY -
OFFHEAP_EVICT_BYTES</code>. If the off-heap cache size grows larger than <code>MAX_OFF_HEAP_MEMORY</code>, critical off-heap eviction will occur. The default
value for <code>OFFHEAP_EVICT_BYTES</code> is fairly large to ensure that
critical eviction does not occur. Be careful when lowering this value.</p>
<p>This approach is intended to prevent the off-heap cache from exceeding
its maximum size. If the maximum is exceeded, there is a danger that the
JVM process will be killed by the OS. See <a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapAllocFailures--"><code>getOffHeapAllocFailures()</code></a>.</p>
<h4><a name="cacheLRUListContention">Cache Statistics: LRU List
Contention</a></h4>
<p>Another common tuning issue involves thread contention on the cache LRU
lists, although there is no stat to indicate such contention. Since each
time a node is accessed it must be moved to the end of the LRU list, a
single LRU list would cause contention among threads performing CRUD
operations. By default there are 4 LRU lists for each cache. If contention
is noticeable on internal Evictor.LRUList or OffHeapCache.LRUList methods,
consider increasing the number of LRU lists:</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_N_LRU_LISTS"><code>EnvironmentConfig.EVICTOR_N_LRU_LISTS</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_N_LRU_LISTS"><code>EnvironmentConfig.OFFHEAP_N_LRU_LISTS</code></a></li>
</ul>
<p>However, note that increasing the number of LRU lists will decrease the
accuracy of the LRU.</p>
<h4><a name="cacheDebugging">Cache Statistics: Debugging</a></h4>
<p>The following cache stats are unlikely to be needed for monitoring or
tuning, but are sometimes useful for debugging and testing.</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataBytes--"><code>getDataBytes()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAdminBytes--"><code>getAdminBytes()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataAdminBytes--"><code>getDataAdminBytes()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesTargeted--"><code>getNNodesTargeted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesStripped--"><code>getNNodesStripped()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesPutBack--"><code>getNNodesPutBack()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMovedToDirtyLRU--"><code>getNNodesMovedToDirtyLRU()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesSkipped--"><code>getNNodesSkipped()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRootNodesEvicted--"><code>getNRootNodesEvicted()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetchMissRatio--"><code>getNBINsFetchMissRatio()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINSparseTarget--"><code>getNINSparseTarget()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINNoTarget--"><code>getNINNoTarget()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getMixedLRUSize--"><code>getMixedLRUSize()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDirtyLRUSize--"><code>getDirtyLRUSize()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapAllocFailures--"><code>getOffHeapAllocFailures()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapAllocOverflows--"><code>getOffHeapAllocOverflows()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesStripped--"><code>getOffHeapNodesStripped()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesSkipped--"><code>getOffHeapNodesSkipped()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsLoaded--"><code>getOffHeapLNsLoaded()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsStored--"><code>getOffHeapLNsStored()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapBINsLoaded--"><code>getOffHeapBINsLoaded()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapBINsStored--"><code>getOffHeapBINsStored()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapTotalBlocks--"><code>getOffHeapTotalBlocks()</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLRUSize--"><code>getOffHeapLRUSize()</code></a></li>
</ul>
<p>Likewise, the following cache configuration params are unlikely to be
needed for tuning, but are sometimes useful for debugging and testing.</p>
<ul>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#ENV_DB_EVICTION"><code>EnvironmentConfig.ENV_DB_EVICTION</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MIN_MEMORY"><code>EnvironmentConfig.TREE_MIN_MEMORY</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_FORCED_YIELD"><code>EnvironmentConfig.EVICTOR_FORCED_YIELD</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_ALLOW_BIN_DELTAS"><code>EnvironmentConfig.EVICTOR_ALLOW_BIN_DELTAS</code></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentConfig.html#OFFHEAP_CHECKSUM"><code>EnvironmentConfig.OFFHEAP_CHECKSUM</code></a></li>
</ul>
<!--
For Cleaning section:
See this <a href="../../../../GettingStartedGuide/logfilesrevealed.html">
overview</a> of the logging system. Log files are cleaned and deleted as
their contents become obsolete.
For Env section:
<li><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltaBlindOps--"><code>getNBINDeltaBlindOps()</code></a></li>
--></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../jconsole/JConsole-plugin.html">Viewing
Statistics with JConsole</a>,
<a href="../../../serialized-form.html#com.sleepycat.je.EnvironmentStats">Serialized Form</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getActiveLogSize--">getActiveLogSize</a></span>()</code>
<div class="block">"Bytes used by all active data files: files required for basic JE operation."</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAdminBytes--">getAdminBytes</a></span>()</code>
<div class="block">"Number of bytes of JE main cache used for cleaner and checkpointer metadata, in bytes."</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAvailableLogSize--">getAvailableLogSize</a></span>()</code>
<div class="block">"Bytes available for write operations when unprotected reserved files are deleted: free space + reservedLogSize - protectedLogSize."</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAvgBatchCacheMode--">getAvgBatchCacheMode</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAvgBatchCritical--">getAvgBatchCritical</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAvgBatchDaemon--">getAvgBatchDaemon</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAvgBatchEvictorThread--">getAvgBatchEvictorThread</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getAvgBatchManual--">getAvgBatchManual</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getBufferBytes--">getBufferBytes</a></span>()</code>
<div class="block">The total memory currently consumed by log buffers, in bytes.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheDataBytes--">getCacheDataBytes</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Please use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataBytes--"><code>getDataBytes()</code></a> to get the amount of cache
used for data and use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getAdminBytes--"><code>getAdminBytes()</code></a>, <a href="../../../com/sleepycat/je/EnvironmentStats.html#getLockBytes--"><code>getLockBytes()</code></a> and
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getBufferBytes--"><code>getBufferBytes()</code></a> to get other components of the total cache usage
(<a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--"><code>getCacheTotalBytes()</code></a>).</span></div>
</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--">getCacheTotalBytes</a></span>()</code>
<div class="block">"Total amount of JE main cache in use, in bytes."</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCleanerBacklog--">getCleanerBacklog</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in 7.0, always returns zero. Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>getCurrentMinUtilization()</code></a> and <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--"><code>getCurrentMaxUtilization()</code></a> to
monitor cleaner behavior.</span></div>
</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCorrectedAvgLNSize--">getCorrectedAvgLNSize</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in JE 5.0.56, use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCorrectedAvgLNSize--"><code>getCorrectedAvgLNSize()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--">getCurrentMaxUtilization</a></span>()</code>
<div class="block">"The current maximum (upper bound) log utilization as a percentage."</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--">getCurrentMinUtilization</a></span>()</code>
<div class="block">"The current minimum (lower bound) log utilization as a percentage."</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getCursorsBins--">getCursorsBins</a></span>()</code>
<div class="block">The number of BINs encountered by the INCompressor that had cursors
referring to them when the compressor ran.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataAdminBytes--">getDataAdminBytes</a></span>()</code>
<div class="block">"Amount of JE main cache used for holding per-database cleaner utilization metadata, in bytes."</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataBytes--">getDataBytes</a></span>()</code>
<div class="block">"Amount of JE main cache used for holding data, keys and internal Btree nodes, in bytes."</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDbClosedBins--">getDbClosedBins</a></span>()</code>
<div class="block">The number of BINs encountered by the INCompressor that had their
database closed between the time they were put on the compressor queue
and when the compressor ran.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDirtyLRUSize--">getDirtyLRUSize</a></span>()</code>
<div class="block">"Number of INs in the dirty/priority-2 LRU "</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getDOSBytes--">getDOSBytes</a></span>()</code>
<div class="block">"Amount of JE main cache consumed by disk-ordered cursor and Database.count operations, in bytes."</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getEndOfLog--">getEndOfLog</a></span>()</code>
<div class="block">The location of the next entry to be written to the log.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getEnvironmentCreationTime--">getEnvironmentCreationTime</a></span>()</code>
<div class="block">The time the Environment was created.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getEstimatedAvgLNSize--">getEstimatedAvgLNSize</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in JE 5.0.56, use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCorrectedAvgLNSize--"><code>getCorrectedAvgLNSize()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getFileDeletionBacklog--">getFileDeletionBacklog</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in 7.5, always returns zero. Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSize--"><code>getProtectedLogSize()</code></a> <a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSizeMap--"><code>getProtectedLogSizeMap()</code></a> to monitor
file protection.</span></div>
</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getFSyncMaxTime--">getFSyncMaxTime</a></span>()</code>
<div class="block">The maximum number of milliseconds used to perform a single fsync.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getFSyncTime--">getFSyncTime</a></span>()</code>
<div class="block">The total number of milliseconds used to perform fsyncs.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getInCompQueueSize--">getInCompQueueSize</a></span>()</code>
<div class="block">The number of entries in the INCompressor queue when the getStats()
call was made.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLastCheckpointEnd--">getLastCheckpointEnd</a></span>()</code>
<div class="block">The location in the log of the last checkpoint end.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLastCheckpointId--">getLastCheckpointId</a></span>()</code>
<div class="block">The Id of the last checkpoint.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLastCheckpointInterval--">getLastCheckpointInterval</a></span>()</code>
<div class="block">Byte length from last checkpoint start to the previous checkpoint start.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLastCheckpointStart--">getLastCheckpointStart</a></span>()</code>
<div class="block">The location in the log of the last checkpoint start.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLastKnownUtilization--">getLastKnownUtilization</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in JE 6.5, use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>getCurrentMinUtilization()</code></a> or
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--"><code>getCurrentMaxUtilization()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLNSizeCorrectionFactor--">getLNSizeCorrectionFactor</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in JE 6.3. Adjustments are no longer needed because LN log
sizes have been stored in the Btree since JE 6.0.</span></div>
</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getLockBytes--">getLockBytes</a></span>()</code>
<div class="block">"Number of bytes of JE cache used for holding locks and transactions, in bytes."</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getMixedLRUSize--">getMixedLRUSize</a></span>()</code>
<div class="block">"Number of INs in the mixed/priority-1 LRU "</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNAcquiresNoWaiters--">getNAcquiresNoWaiters</a></span>()</code>
<div class="block">Number of acquires of lock table latch with no contention.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNAcquiresNoWaitSuccessful--">getNAcquiresNoWaitSuccessful</a></span>()</code>
<div class="block">Number of successful no-wait acquires of the lock table latch.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNAcquiresNoWaitUnSuccessful--">getNAcquiresNoWaitUnSuccessful</a></span>()</code>
<div class="block">Number of unsuccessful no-wait acquires of the lock table latch.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNAcquiresSelfOwned--">getNAcquiresSelfOwned</a></span>()</code>
<div class="block">Number of acquires of lock table latch when it was already owned
by the caller.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNAcquiresWithContention--">getNAcquiresWithContention</a></span>()</code>
<div class="block">Number of acquires of lock table latch when it was already owned by
another thread.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBatchesCacheMode--">getNBatchesCacheMode</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBatchesCritical--">getNBatchesCritical</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBatchesDaemon--">getNBatchesDaemon</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBatchesEvictorThread--">getNBatchesEvictorThread</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBatchesManual--">getNBatchesManual</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltaBlindOps--">getNBINDeltaBlindOps</a></span>()</code>
<div class="block">"The number of operations performed blindly in BIN deltas"</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBinDeltaDeleteOps--">getNBinDeltaDeleteOps</a></span>()</code>
<div class="block">The number of user (non-internal) Cursor and Database delete operations
performed in BIN deltas.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBinDeltaGetOps--">getNBinDeltaGetOps</a></span>()</code>
<div class="block">The number of user (non-internal) Cursor and Database get operations
performed in BIN deltas.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBinDeltaInsertOps--">getNBinDeltaInsertOps</a></span>()</code>
<div class="block">The number of user (non-internal) Cursor and Database insert operations
performed in BIN deltas (these are insertions performed via the various
put methods).</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasCleaned--">getNBINDeltasCleaned</a></span>()</code>
<div class="block">"Accumulated number of BIN-deltas cleaned."</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasDead--">getNBINDeltasDead</a></span>()</code>
<div class="block">"Accumulated number of BIN-deltas that were not found in the tree anymore (deleted)."</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasFetchMiss--">getNBINDeltasFetchMiss</a></span>()</code>
<div class="block">"Number of BIN-deltas (partial BINs) fetched to satisfy btree operations that were not in main cache."</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasMigrated--">getNBINDeltasMigrated</a></span>()</code>
<div class="block">"Accumulated number of BIN-deltas migrated."</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasObsolete--">getNBINDeltasObsolete</a></span>()</code>
<div class="block">"Accumulated number of BIN-deltas obsolete."</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBinDeltaUpdateOps--">getNBinDeltaUpdateOps</a></span>()</code>
<div class="block">The number of user (non-internal) Cursor and Database update operations
performed in BIN deltas (these are updates performed via the various
put methods).</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsEvictedCacheMode--">getNBINsEvictedCacheMode</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsEvictedCritical--">getNBINsEvictedCritical</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsEvictedDaemon--">getNBINsEvictedDaemon</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsEvictedEvictorThread--">getNBINsEvictedEvictorThread</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsEvictedManual--">getNBINsEvictedManual</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetch--">getNBINsFetch</a></span>()</code>
<div class="block">"Number of BINs (bottom internal nodes) and BIN-deltas requested by btree operations."</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetchMiss--">getNBINsFetchMiss</a></span>()</code>
<div class="block">"Number of full BINs (bottom internal nodes) and BIN-deltas fetched to satisfy btree operations that were not in main cache."</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetchMissRatio--">getNBINsFetchMissRatio</a></span>()</code>
<div class="block">"The BIN fetch miss ratio (nBINsFetchMiss / nBINsFetch)"</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsMutated--">getNBINsMutated</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMutated--"><code>getNNodesMutated()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsStripped--">getNBINsStripped</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesStripped--"><code>getNNodesStripped()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedCacheMode--">getNBytesEvictedCacheMode</a></span>()</code>
<div class="block">"Number of bytes evicted by operations for which CacheMode.EVICT_BIN is specified."</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedCritical--">getNBytesEvictedCritical</a></span>()</code>
<div class="block">"Number of bytes evicted in the application thread because the cache is over budget."</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedDeamon--">getNBytesEvictedDeamon</a></span>()</code>
<div class="block">"Number of bytes evicted by JE deamon threads."</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedEvictorThread--">getNBytesEvictedEvictorThread</a></span>()</code>
<div class="block">"Number of bytes evicted by evictor pool threads."</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesEvictedManual--">getNBytesEvictedManual</a></span>()</code>
<div class="block">"Number of bytes evicted by the Environment.evictMemory or during Environment startup."</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesReadFromWriteQueue--">getNBytesReadFromWriteQueue</a></span>()</code>
<div class="block">The number of bytes read to fulfill file read operations by reading out
of the pending write queue.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBytesWrittenFromWriteQueue--">getNBytesWrittenFromWriteQueue</a></span>()</code>
<div class="block">The number of bytes written from the pending write queue.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCachedBINDeltas--">getNCachedBINDeltas</a></span>()</code>
<div class="block">"Number of BIN-deltas (partial BINs) in main cache. This is a subset of the nCachedBINs value."</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCachedBINs--">getNCachedBINs</a></span>()</code>
<div class="block">"Number of BINs (bottom internal nodes) and BIN-deltas in main cache."</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCachedUpperINs--">getNCachedUpperINs</a></span>()</code>
<div class="block">"Number of upper INs (non-bottom internal nodes) in main cache."</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCacheMiss--">getNCacheMiss</a></span>()</code>
<div class="block">The total number of requests for database objects which were not in
memory.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCheckpoints--">getNCheckpoints</a></span>()</code>
<div class="block">The total number of checkpoints run so far.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerDeletions--">getNCleanerDeletions</a></span>()</code>
<div class="block">"Number of cleaner file deletions."</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerDiskRead--">getNCleanerDiskRead</a></span>()</code>
<div class="block">"Number of disk reads by the cleaner."</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerEntriesRead--">getNCleanerEntriesRead</a></span>()</code>
<div class="block">"Accumulated number of log entries read by the cleaner."</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerProbeRuns--">getNCleanerProbeRuns</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">in JE 6.3, always returns zero.</span></div>
</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerRevisalRuns--">getNCleanerRevisalRuns</a></span>()</code>
<div class="block">"Number of cleaner runs that ended in revising expiration info, but not in any cleaning."</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerRuns--">getNCleanerRuns</a></span>()</code>
<div class="block">"Number of cleaner runs, including two-pass runs."</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerTwoPassRuns--">getNCleanerTwoPassRuns</a></span>()</code>
<div class="block">"Number of cleaner two-pass runs."</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNClusterLNsProcessed--">getNClusterLNsProcessed</a></span>()</code>
<div class="block">"Accumulated number of LNs processed because they qualify for clustering."</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNDeltaINFlush--">getNDeltaINFlush</a></span>()</code>
<div class="block">The accumulated number of Delta INs flushed to the log.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNDirtyNodesEvicted--">getNDirtyNodesEvicted</a></span>()</code>
<div class="block">"Number of dirty target nodes logged and evicted."</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNEvictionRuns--">getNEvictionRuns</a></span>()</code>
<div class="block">"Number of times the background eviction thread is awoken."</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNEvictPasses--">getNEvictPasses</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNEvictionRuns--"><code>getNEvictionRuns()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFileOpens--">getNFileOpens</a></span>()</code>
<div class="block">The number of times a log file has been opened.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFSyncRequests--">getNFSyncRequests</a></span>()</code>
<div class="block">The number of fsyncs requested through the group commit manager.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFSyncs--">getNFSyncs</a></span>()</code>
<div class="block">The number of fsyncs issued through the group commit manager.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFSyncTimeouts--">getNFSyncTimeouts</a></span>()</code>
<div class="block">The number of fsync requests submitted to the group commit manager which
timed out.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFullBINFlush--">getNFullBINFlush</a></span>()</code>
<div class="block">The accumulated number of full BINs flushed to the log.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFullBINsMiss--">getNFullBINsMiss</a></span>()</code>
<div class="block">"Number of times a BIN-delta had to be mutated to a full BIN (and as a result a full BIN had to be read in from the log)."</div>
</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFullINFlush--">getNFullINFlush</a></span>()</code>
<div class="block">The accumulated number of full INs flushed to the log.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINCompactKeyIN--">getNINCompactKeyIN</a></span>()</code>
<div class="block">"Number of INs that use a compact key representation to minimize the key object representation overhead."</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINNoTarget--">getNINNoTarget</a></span>()</code>
<div class="block">"Number of INs that use a compact representation when none of its child nodes are in the main cache."</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINsCleaned--">getNINsCleaned</a></span>()</code>
<div class="block">"Accumulated number of INs cleaned."</div>
</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINsDead--">getNINsDead</a></span>()</code>
<div class="block">"Accumulated number of INs that were not found in the tree anymore (deleted)."</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINsMigrated--">getNINsMigrated</a></span>()</code>
<div class="block">"Accumulated number of INs migrated."</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINsObsolete--">getNINsObsolete</a></span>()</code>
<div class="block">"Accumulated number of INs obsolete."</div>
</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNINSparseTarget--">getNINSparseTarget</a></span>()</code>
<div class="block">"Number of INs that use a compact sparse array representation to point to child nodes in the main cache."</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNQueueHits--">getNLNQueueHits</a></span>()</code>
<div class="block">"Accumulated number of LNs processed without a tree lookup."</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsCleaned--">getNLNsCleaned</a></span>()</code>
<div class="block">"Accumulated number of LNs cleaned."</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsDead--">getNLNsDead</a></span>()</code>
<div class="block">"Accumulated number of LNs that were not found in the tree anymore (deleted)."</div>
</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsEvicted--">getNLNsEvicted</a></span>()</code>
<div class="block">"Number of LNs evicted as a result of LRU-based eviction (but not CacheMode.EVICT_LN)."</div>
</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsExpired--">getNLNsExpired</a></span>()</code>
<div class="block">"Accumulated number of obsolete LNs that were expired."</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsFetch--">getNLNsFetch</a></span>()</code>
<div class="block">"Number of LNs (data records) requested by btree operations."</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsFetchMiss--">getNLNsFetchMiss</a></span>()</code>
<div class="block">"Number of LNs (data records) requested by btree operations that were not in main cache."</div>
</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsLocked--">getNLNsLocked</a></span>()</code>
<div class="block">"Accumulated number of LNs encountered that were locked."</div>
</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsMarked--">getNLNsMarked</a></span>()</code>
<div class="block">"Accumulated number of LNs in temporary DBs that were dirtied by the cleaner and subsequently logging during checkpoint/eviction."</div>
</td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsMigrated--">getNLNsMigrated</a></span>()</code>
<div class="block">"Accumulated number of LNs that were migrated forward in the log by the cleaner."</div>
</td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsObsolete--">getNLNsObsolete</a></span>()</code>
<div class="block">"Accumulated number of LNs obsolete."</div>
</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLogBuffers--">getNLogBuffers</a></span>()</code>
<div class="block">The number of log buffers currently instantiated.</div>
</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLogFSyncs--">getNLogFSyncs</a></span>()</code>
<div class="block">The total number of fsyncs of the JE log.</div>
</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNMarkedLNsProcessed--">getNMarkedLNsProcessed</a></span>()</code>
<div class="block">"Accumulated number of LNs processed because they were previously marked for migration."</div>
</td>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesEvicted--">getNNodesEvicted</a></span>()</code>
<div class="block">"Number of target nodes (INs) evicted from the main cache."</div>
</td>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesExplicitlyEvicted--">getNNodesExplicitlyEvicted</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesEvicted--"><code>getNNodesEvicted()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMovedToDirtyLRU--">getNNodesMovedToDirtyLRU</a></span>()</code>
<div class="block">"Number of nodes (INs) moved from the mixed/priority-1 to the dirty/priority-2 LRU list."</div>
</td>
</tr>
<tr id="i121" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMutated--">getNNodesMutated</a></span>()</code>
<div class="block">"Number of target BINs mutated to BIN-deltas."</div>
</td>
</tr>
<tr id="i122" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesPutBack--">getNNodesPutBack</a></span>()</code>
<div class="block">"Number of target nodes (INs) moved to the cold end of the LRU list without any action taken on them."</div>
</td>
</tr>
<tr id="i123" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesScanned--">getNNodesScanned</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has no meaning after the implementation
of the new evictor in JE 6.0. The method returns 0 always.</span></div>
</div>
</td>
</tr>
<tr id="i124" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesSelected--">getNNodesSelected</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesTargeted--"><code>getNNodesTargeted()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i125" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesSkipped--">getNNodesSkipped</a></span>()</code>
<div class="block">"Number of nodes (INs) that did not require any action."</div>
</td>
</tr>
<tr id="i126" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesStripped--">getNNodesStripped</a></span>()</code>
<div class="block">"Number of target BINs whose child LNs were evicted (stripped)."</div>
</td>
</tr>
<tr id="i127" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesTargeted--">getNNodesTargeted</a></span>()</code>
<div class="block">"Number of nodes (INs) selected as eviction targets."</div>
</td>
</tr>
<tr id="i128" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNotResident--">getNNotResident</a></span>()</code>
<div class="block">The number of requests for database objects not contained within the
in memory data structures.</div>
</td>
</tr>
<tr id="i129" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNonEmptyBins--">getNonEmptyBins</a></span>()</code>
<div class="block">The number of BINs encountered by the INCompressor that were not
actually empty when the compressor ran.</div>
</td>
</tr>
<tr id="i130" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNOpenFiles--">getNOpenFiles</a></span>()</code>
<div class="block">The number of files currently open in the file cache.</div>
</td>
</tr>
<tr id="i131" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNOwners--">getNOwners</a></span>()</code>
<div class="block">Total lock owners in lock table.</div>
</td>
</tr>
<tr id="i132" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNPendingLNsLocked--">getNPendingLNsLocked</a></span>()</code>
<div class="block">"Accumulated number of pending LNs that could not be locked for migration because of a long duration application lock."</div>
</td>
</tr>
<tr id="i133" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNPendingLNsProcessed--">getNPendingLNsProcessed</a></span>()</code>
<div class="block">"Accumulated number of LNs processed because they were previously locked."</div>
</td>
</tr>
<tr id="i134" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRandomReadBytes--">getNRandomReadBytes</a></span>()</code>
<div class="block">The number of bytes read which required repositioning the disk head
more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i135" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRandomReads--">getNRandomReads</a></span>()</code>
<div class="block">The number of disk reads which required repositioning the disk head
more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i136" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRandomWriteBytes--">getNRandomWriteBytes</a></span>()</code>
<div class="block">The number of bytes written which required repositioning the disk head
more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i137" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRandomWrites--">getNRandomWrites</a></span>()</code>
<div class="block">The number of disk writes which required repositioning the disk head by
more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i138" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNReadLocks--">getNReadLocks</a></span>()</code>
<div class="block">Total read locks currently held.</div>
</td>
</tr>
<tr id="i139" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNReadsFromWriteQueue--">getNReadsFromWriteQueue</a></span>()</code>
<div class="block">The number of file read operations which were fulfilled by reading out
of the pending write queue.</div>
</td>
</tr>
<tr id="i140" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNReleases--">getNReleases</a></span>()</code>
<div class="block">Number of releases of the lock table latch.</div>
</td>
</tr>
<tr id="i141" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRepeatFaultReads--">getNRepeatFaultReads</a></span>()</code>
<div class="block">The number of reads which had to be repeated when faulting in an object
from disk because the read chunk size controlled by je.log.faultReadSize
is too small.</div>
</td>
</tr>
<tr id="i142" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRepeatIteratorReads--">getNRepeatIteratorReads</a></span>()</code>
<div class="block">"Number of attempts to read a log entry larger than the read buffer size during which the log buffer couldn\'t be grown enough to accommodate the object."</div>
</td>
</tr>
<tr id="i143" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRequests--">getNRequests</a></span>()</code>
<div class="block">Total number of lock requests to date.</div>
</td>
</tr>
<tr id="i144" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRootNodesEvicted--">getNRootNodesEvicted</a></span>()</code>
<div class="block">"Number of database root nodes (INs) evicted."</div>
</td>
</tr>
<tr id="i145" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNSequentialReadBytes--">getNSequentialReadBytes</a></span>()</code>
<div class="block">The number of bytes read which did not require repositioning the disk
head more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i146" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNSequentialReads--">getNSequentialReads</a></span>()</code>
<div class="block">The number of disk reads which did not require repositioning the disk
head more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i147" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNSequentialWriteBytes--">getNSequentialWriteBytes</a></span>()</code>
<div class="block">The number of bytes written which did not require repositioning the
disk head more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i148" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNSequentialWrites--">getNSequentialWrites</a></span>()</code>
<div class="block">The number of disk writes which did not require repositioning the disk
head by more than 1MB from the previous file position.</div>
</td>
</tr>
<tr id="i149" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNSharedCacheEnvironments--">getNSharedCacheEnvironments</a></span>()</code>
<div class="block">"Number of Environments sharing the main cache."</div>
</td>
</tr>
<tr id="i150" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNTempBufferWrites--">getNTempBufferWrites</a></span>()</code>
<div class="block">The number of writes which had to be completed using the temporary
marshalling buffer because the fixed size log buffers specified by
je.log.totalBufferBytes and je.log.numBuffers were not large enough.</div>
</td>
</tr>
<tr id="i151" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNThreadUnavailable--">getNThreadUnavailable</a></span>()</code>
<div class="block">"Number of eviction tasks that were submitted to the background evictor pool, but were refused because all eviction threads were busy."</div>
</td>
</tr>
<tr id="i152" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNToBeCleanedLNsProcessed--">getNToBeCleanedLNsProcessed</a></span>()</code>
<div class="block">"Accumulated number of LNs processed because they are soon to be cleaned."</div>
</td>
</tr>
<tr id="i153" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNTotalLocks--">getNTotalLocks</a></span>()</code>
<div class="block">Total locks currently in lock table.</div>
</td>
</tr>
<tr id="i154" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsEvictedCacheMode--">getNUpperINsEvictedCacheMode</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i155" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsEvictedCritical--">getNUpperINsEvictedCritical</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i156" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsEvictedDaemon--">getNUpperINsEvictedDaemon</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i157" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsEvictedEvictorThread--">getNUpperINsEvictedEvictorThread</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i158" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsEvictedManual--">getNUpperINsEvictedManual</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</div>
</td>
</tr>
<tr id="i159" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsFetch--">getNUpperINsFetch</a></span>()</code>
<div class="block">"Number of Upper INs (non-bottom internal nodes) requested by btree operations."</div>
</td>
</tr>
<tr id="i160" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNUpperINsFetchMiss--">getNUpperINsFetchMiss</a></span>()</code>
<div class="block">"Number of Upper INs (non-bottom internal nodes) requested by btree operations that were not in main cache."</div>
</td>
</tr>
<tr id="i161" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNWaiters--">getNWaiters</a></span>()</code>
<div class="block">Total transactions waiting for locks.</div>
</td>
</tr>
<tr id="i162" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNWaits--">getNWaits</a></span>()</code>
<div class="block">Total number of lock waits to date.</div>
</td>
</tr>
<tr id="i163" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNWriteLocks--">getNWriteLocks</a></span>()</code>
<div class="block">Total write locks currently held.</div>
</td>
</tr>
<tr id="i164" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNWriteQueueOverflow--">getNWriteQueueOverflow</a></span>()</code>
<div class="block">The number of writes operations which would overflow the Write Queue.</div>
</td>
</tr>
<tr id="i165" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNWriteQueueOverflowFailures--">getNWriteQueueOverflowFailures</a></span>()</code>
<div class="block">The number of writes operations which would overflow the Write Queue
and could not be queued.</div>
</td>
</tr>
<tr id="i166" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNWritesFromWriteQueue--">getNWritesFromWriteQueue</a></span>()</code>
<div class="block">The number of file writes operations executed from the pending write
queue.</div>
</td>
</tr>
<tr id="i167" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapAllocFailures--">getOffHeapAllocFailures</a></span>()</code>
<div class="block">"Number of off-heap allocation failures due to lack of system memory."</div>
</td>
</tr>
<tr id="i168" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapAllocOverflows--">getOffHeapAllocOverflows</a></span>()</code>
<div class="block">"Number of off-heap allocation attempts that exceeded the cache size."</div>
</td>
</tr>
<tr id="i169" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapBINsLoaded--">getOffHeapBINsLoaded</a></span>()</code>
<div class="block">"Number of BINs loaded from the off-heap cache."</div>
</td>
</tr>
<tr id="i170" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapBINsStored--">getOffHeapBINsStored</a></span>()</code>
<div class="block">"Number of BINs stored into the off-heap cache."</div>
</td>
</tr>
<tr id="i171" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedBINDeltas--">getOffHeapCachedBINDeltas</a></span>()</code>
<div class="block">"Number of BIN-deltas residing in the off-heap cache."</div>
</td>
</tr>
<tr id="i172" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedBINs--">getOffHeapCachedBINs</a></span>()</code>
<div class="block">"Number of BINs (full BINs and BIN-deltas) residing in the off-heap cache."</div>
</td>
</tr>
<tr id="i173" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedLNs--">getOffHeapCachedLNs</a></span>()</code>
<div class="block">"Number of LNs residing in the off-heap cache."</div>
</td>
</tr>
<tr id="i174" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCriticalNodesTargeted--">getOffHeapCriticalNodesTargeted</a></span>()</code>
<div class="block">"Number of nodes targeted in \'critical eviction\' mode."</div>
</td>
</tr>
<tr id="i175" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapDirtyNodesEvicted--">getOffHeapDirtyNodesEvicted</a></span>()</code>
<div class="block">"Number of target BINs evicted from the off-heap cache that were dirty and therefore were logged."</div>
</td>
</tr>
<tr id="i176" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsEvicted--">getOffHeapLNsEvicted</a></span>()</code>
<div class="block">"Number of LNs evicted from the off-heap cache as a result of BIN stripping."</div>
</td>
</tr>
<tr id="i177" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsLoaded--">getOffHeapLNsLoaded</a></span>()</code>
<div class="block">"Number of LNs loaded from the off-heap cache."</div>
</td>
</tr>
<tr id="i178" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsStored--">getOffHeapLNsStored</a></span>()</code>
<div class="block">"Number of LNs stored into the off-heap cache."</div>
</td>
</tr>
<tr id="i179" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLRUSize--">getOffHeapLRUSize</a></span>()</code>
<div class="block">"Number of LRU entries used for the off-heap cache."</div>
</td>
</tr>
<tr id="i180" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesEvicted--">getOffHeapNodesEvicted</a></span>()</code>
<div class="block">"Number of target BINs (including BIN-deltas) evicted from the off-heap cache."</div>
</td>
</tr>
<tr id="i181" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesMutated--">getOffHeapNodesMutated</a></span>()</code>
<div class="block">"Number of off-heap target BINs mutated to BIN-deltas."</div>
</td>
</tr>
<tr id="i182" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesSkipped--">getOffHeapNodesSkipped</a></span>()</code>
<div class="block">"Number of off-heap target BINs on which no action was taken."</div>
</td>
</tr>
<tr id="i183" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesStripped--">getOffHeapNodesStripped</a></span>()</code>
<div class="block">"Number of target BINs whose off-heap child LNs were evicted (stripped)."</div>
</td>
</tr>
<tr id="i184" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesTargeted--">getOffHeapNodesTargeted</a></span>()</code>
<div class="block">"Number of BINs selected as off-heap eviction targets."</div>
</td>
</tr>
<tr id="i185" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapThreadUnavailable--">getOffHeapThreadUnavailable</a></span>()</code>
<div class="block">"Number of eviction tasks that were submitted to the background off-heap evictor pool, but were refused because all eviction threads were busy."</div>
</td>
</tr>
<tr id="i186" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapTotalBlocks--">getOffHeapTotalBlocks</a></span>()</code>
<div class="block">"Total number of memory blocks in off-heap cache."</div>
</td>
</tr>
<tr id="i187" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapTotalBytes--">getOffHeapTotalBytes</a></span>()</code>
<div class="block">"Total number of estimated bytes in off-heap cache."</div>
</td>
</tr>
<tr id="i188" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPendingLNQueueSize--">getPendingLNQueueSize</a></span>()</code>
<div class="block">"Number of LNs pending because they were locked and could not be migrated."</div>
</td>
</tr>
<tr id="i189" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriDeleteFailOps--">getPriDeleteFailOps</a></span>()</code>
<div class="block">Number of failed primary DB deletion operations.</div>
</td>
</tr>
<tr id="i190" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriDeleteOps--">getPriDeleteOps</a></span>()</code>
<div class="block">Number of successful primary DB deletion operations.</div>
</td>
</tr>
<tr id="i191" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriInsertFailOps--">getPriInsertFailOps</a></span>()</code>
<div class="block">Number of failed primary DB insertion operations.</div>
</td>
</tr>
<tr id="i192" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriInsertOps--">getPriInsertOps</a></span>()</code>
<div class="block">Number of successful primary DB insertion operations.</div>
</td>
</tr>
<tr id="i193" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriPositionOps--">getPriPositionOps</a></span>()</code>
<div class="block">Number of successful primary DB position operations.</div>
</td>
</tr>
<tr id="i194" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriSearchFailOps--">getPriSearchFailOps</a></span>()</code>
<div class="block">Number of failed primary DB key search operations.</div>
</td>
</tr>
<tr id="i195" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriSearchOps--">getPriSearchOps</a></span>()</code>
<div class="block">Number of successful primary DB key search operations.</div>
</td>
</tr>
<tr id="i196" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getPriUpdateOps--">getPriUpdateOps</a></span>()</code>
<div class="block">Number of successful primary DB update operations.</div>
</td>
</tr>
<tr id="i197" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getProcessedBins--">getProcessedBins</a></span>()</code>
<div class="block">The number of BINs that were successfully processed by the IN
Compressor.</div>
</td>
</tr>
<tr id="i198" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSize--">getProtectedLogSize</a></span>()</code>
<div class="block">"Bytes used by all protected data files: the subset of reserved files that are temporarily protected and cannot be deleted."</div>
</td>
</tr>
<tr id="i199" class="rowColor">
<td class="colFirst"><code>java.util.SortedMap&lt;java.lang.String,java.lang.Long&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSizeMap--">getProtectedLogSizeMap</a></span>()</code>
<div class="block">"A breakdown of protectedLogSize as a map of protecting entity name to protected size in bytes."</div>
</td>
</tr>
<tr id="i200" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getRelatchesRequired--">getRelatchesRequired</a></span>()</code>
<div class="block">Returns the number of latch upgrades (relatches) required while
operating on this Environment.</div>
</td>
</tr>
<tr id="i201" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getRequiredEvictBytes--">getRequiredEvictBytes</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">The method returns 0 always.</span></div>
</div>
</td>
</tr>
<tr id="i202" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getReservedLogSize--">getReservedLogSize</a></span>()</code>
<div class="block">"Bytes used by all reserved data files: files that have beencleaned and can be deleted if they are not protected."</div>
</td>
</tr>
<tr id="i203" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSecDeleteOps--">getSecDeleteOps</a></span>()</code>
<div class="block">Number of successful secondary DB deletion operations.</div>
</td>
</tr>
<tr id="i204" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSecInsertOps--">getSecInsertOps</a></span>()</code>
<div class="block">Number of successful secondary DB insertion operations.</div>
</td>
</tr>
<tr id="i205" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSecPositionOps--">getSecPositionOps</a></span>()</code>
<div class="block">Number of successful secondary DB position operations.</div>
</td>
</tr>
<tr id="i206" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSecSearchFailOps--">getSecSearchFailOps</a></span>()</code>
<div class="block">Number of failed secondary DB key search operations.</div>
</td>
</tr>
<tr id="i207" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSecSearchOps--">getSecSearchOps</a></span>()</code>
<div class="block">Number of successful secondary DB key search operations.</div>
</td>
</tr>
<tr id="i208" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSecUpdateOps--">getSecUpdateOps</a></span>()</code>
<div class="block">Number of successful secondary DB update operations.</div>
</td>
</tr>
<tr id="i209" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSharedCacheTotalBytes--">getSharedCacheTotalBytes</a></span>()</code>
<div class="block">"Total amount of the shared JE main cache in use, in bytes."</div>
</td>
</tr>
<tr id="i210" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getSplitBins--">getSplitBins</a></span>()</code>
<div class="block">The number of BINs encountered by the INCompressor that were split
between the time they were put on the compressor queue and when the
compressor ran.</div>
</td>
</tr>
<tr id="i211" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#getTotalLogSize--">getTotalLogSize</a></span>()</code>
<div class="block">"Total bytes used by data files on disk: activeLogSize + reservedLogSize."</div>
</td>
</tr>
<tr id="i212" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#toString--">toString</a></span>()</code>
<div class="block">Returns a String representation of the stats in the form of
&lt;stat&gt;=&lt;value&gt;</div>
</td>
</tr>
<tr id="i213" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../com/sleepycat/je/EnvironmentStats.html#toStringVerbose--">toStringVerbose</a></span>()</code>
<div class="block">Returns a String representation of the stats which includes stats
descriptions in addition to &lt;stat&gt;=&lt;value&gt;</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getCursorsBins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCursorsBins</h4>
<pre>public&nbsp;long&nbsp;getCursorsBins()</pre>
<div class="block">The number of BINs encountered by the INCompressor that had cursors
referring to them when the compressor ran.</div>
</li>
</ul>
<a name="getEnvironmentCreationTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnvironmentCreationTime</h4>
<pre>public&nbsp;long&nbsp;getEnvironmentCreationTime()</pre>
<div class="block">The time the Environment was created.</div>
</li>
</ul>
<a name="getDbClosedBins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDbClosedBins</h4>
<pre>public&nbsp;long&nbsp;getDbClosedBins()</pre>
<div class="block">The number of BINs encountered by the INCompressor that had their
database closed between the time they were put on the compressor queue
and when the compressor ran.</div>
</li>
</ul>
<a name="getInCompQueueSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInCompQueueSize</h4>
<pre>public&nbsp;long&nbsp;getInCompQueueSize()</pre>
<div class="block">The number of entries in the INCompressor queue when the getStats()
call was made.</div>
</li>
</ul>
<a name="getNonEmptyBins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonEmptyBins</h4>
<pre>public&nbsp;long&nbsp;getNonEmptyBins()</pre>
<div class="block">The number of BINs encountered by the INCompressor that were not
actually empty when the compressor ran.</div>
</li>
</ul>
<a name="getProcessedBins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessedBins</h4>
<pre>public&nbsp;long&nbsp;getProcessedBins()</pre>
<div class="block">The number of BINs that were successfully processed by the IN
Compressor.</div>
</li>
</ul>
<a name="getSplitBins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSplitBins</h4>
<pre>public&nbsp;long&nbsp;getSplitBins()</pre>
<div class="block">The number of BINs encountered by the INCompressor that were split
between the time they were put on the compressor queue and when the
compressor ran.</div>
</li>
</ul>
<a name="getLastCheckpointId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastCheckpointId</h4>
<pre>public&nbsp;long&nbsp;getLastCheckpointId()</pre>
<div class="block">The Id of the last checkpoint.</div>
</li>
</ul>
<a name="getNCheckpoints--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCheckpoints</h4>
<pre>public&nbsp;long&nbsp;getNCheckpoints()</pre>
<div class="block">The total number of checkpoints run so far.</div>
</li>
</ul>
<a name="getNFullINFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFullINFlush</h4>
<pre>public&nbsp;long&nbsp;getNFullINFlush()</pre>
<div class="block">The accumulated number of full INs flushed to the log.</div>
</li>
</ul>
<a name="getNFullBINFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFullBINFlush</h4>
<pre>public&nbsp;long&nbsp;getNFullBINFlush()</pre>
<div class="block">The accumulated number of full BINs flushed to the log.</div>
</li>
</ul>
<a name="getNDeltaINFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNDeltaINFlush</h4>
<pre>public&nbsp;long&nbsp;getNDeltaINFlush()</pre>
<div class="block">The accumulated number of Delta INs flushed to the log.</div>
</li>
</ul>
<a name="getLastCheckpointInterval--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastCheckpointInterval</h4>
<pre>public&nbsp;long&nbsp;getLastCheckpointInterval()</pre>
<div class="block">Byte length from last checkpoint start to the previous checkpoint start.</div>
</li>
</ul>
<a name="getLastCheckpointStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastCheckpointStart</h4>
<pre>public&nbsp;long&nbsp;getLastCheckpointStart()</pre>
<div class="block">The location in the log of the last checkpoint start.</div>
</li>
</ul>
<a name="getLastCheckpointEnd--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastCheckpointEnd</h4>
<pre>public&nbsp;long&nbsp;getLastCheckpointEnd()</pre>
<div class="block">The location in the log of the last checkpoint end.</div>
</li>
</ul>
<a name="getCleanerBacklog--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCleanerBacklog</h4>
<pre>public&nbsp;int&nbsp;getCleanerBacklog()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in 7.0, always returns zero. Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>getCurrentMinUtilization()</code></a> and <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--"><code>getCurrentMaxUtilization()</code></a> to
monitor cleaner behavior.</span></div>
</li>
</ul>
<a name="getFileDeletionBacklog--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFileDeletionBacklog</h4>
<pre>public&nbsp;int&nbsp;getFileDeletionBacklog()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in 7.5, always returns zero. Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSize--"><code>getProtectedLogSize()</code></a> <a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSizeMap--"><code>getProtectedLogSizeMap()</code></a> to monitor
file protection.</span></div>
</li>
</ul>
<a name="getCurrentMinUtilization--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentMinUtilization</h4>
<pre>public&nbsp;int&nbsp;getCurrentMinUtilization()</pre>
<div class="block"><p>"The current minimum (lower bound) log utilization as a percentage."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "minUtilization"</p>
The last known log minimum utilization as a percentage. This statistic
provides a cheap way of checking the log utilization without having to
run the DbSpace utility.
<p>
The log utilization is the percentage of the total log size (all .jdb
files) that is utilized or active. The remaining portion of the log
is obsolete. The log cleaner is responsible for keeping the log
utilization below the configured threshold,
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#CLEANER_MIN_UTILIZATION"><code>EnvironmentConfig.CLEANER_MIN_UTILIZATION</code></a>.
<p>
This statistic is computed every time the log cleaner examines the
utilization of the log, in order to determine whether cleaning is
needed. The frequency can be configured using
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#CLEANER_BYTES_INTERVAL"><code>EnvironmentConfig.CLEANER_BYTES_INTERVAL</code></a>.
<p>
The obsolete portion of the log includes data that has expired at the
time the statistic was last computed. An expiration histogram is stored
for each file and used to compute the expired size. The minimum and
maximum utilization are the lower and upper bounds of computed
utilization, which may be different when some data has expired. See
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerTwoPassRuns--"><code>getNCleanerTwoPassRuns()</code></a> for more information.
<p>
Note that the size of the utilized data in the log is always greater
than the amount of user data (total size of keys and data). The active
Btree internal nodes and other metadata are also included.
<p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current minimum utilization, or -1 if the utilization has
not been calculated for this environment since it was last opened.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>6.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getCurrentMaxUtilization--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentMaxUtilization</h4>
<pre>public&nbsp;int&nbsp;getCurrentMaxUtilization()</pre>
<div class="block"><p>"The current maximum (upper bound) log utilization as a percentage."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "maxUtilization"</p>
The last known log maximum utilization as a percentage. This statistic
provides a cheap way of checking the log utilization without having to
run the DbSpace utility.
<p>
The log utilization is the percentage of the total log size (all .jdb
files) that is utilized or active. The remaining portion of the log
is obsolete. The log cleaner is responsible for keeping the log
utilization below the configured threshold,
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#CLEANER_MIN_UTILIZATION"><code>EnvironmentConfig.CLEANER_MIN_UTILIZATION</code></a>.
<p>
This statistic is computed every time the log cleaner examines the
utilization of the log, in order to determine whether cleaning is
needed. The frequency can be configured using
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#CLEANER_BYTES_INTERVAL"><code>EnvironmentConfig.CLEANER_BYTES_INTERVAL</code></a>.
<p>
The obsolete portion of the log includes data that has expired at the
time the statistic was last computed. An expiration histogram is stored
for each file and used to compute the expired size. The minimum and
maximum utilization are the lower and upper bounds of computed
utilization, which may be different when some data has expired. See
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerTwoPassRuns--"><code>getNCleanerTwoPassRuns()</code></a> for more information.
<p>
Note that the size of the utilized data in the log is always greater
than the amount of user data (total size of keys and data). The active
Btree internal nodes and other metadata are also included.
<p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current maximum utilization, or -1 if the utilization has
not been calculated for this environment since it was last opened.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>6.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getLastKnownUtilization--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastKnownUtilization</h4>
<pre>public&nbsp;int&nbsp;getLastKnownUtilization()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in JE 6.5, use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>getCurrentMinUtilization()</code></a> or
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--"><code>getCurrentMaxUtilization()</code></a> instead.</span></div>
</li>
</ul>
<a name="getLNSizeCorrectionFactor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLNSizeCorrectionFactor</h4>
<pre>public&nbsp;float&nbsp;getLNSizeCorrectionFactor()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in JE 6.3. Adjustments are no longer needed because LN log
sizes have been stored in the Btree since JE 6.0.</span></div>
</li>
</ul>
<a name="getCorrectedAvgLNSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCorrectedAvgLNSize</h4>
<pre>public&nbsp;float&nbsp;getCorrectedAvgLNSize()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in JE 5.0.56, use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCorrectedAvgLNSize--"><code>getCorrectedAvgLNSize()</code></a> instead.</span></div>
</li>
</ul>
<a name="getEstimatedAvgLNSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEstimatedAvgLNSize</h4>
<pre>public&nbsp;float&nbsp;getEstimatedAvgLNSize()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in JE 5.0.56, use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCorrectedAvgLNSize--"><code>getCorrectedAvgLNSize()</code></a> instead.</span></div>
</li>
</ul>
<a name="getNCleanerRuns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerRuns</h4>
<pre>public&nbsp;long&nbsp;getNCleanerRuns()</pre>
<div class="block"><p>"Number of cleaner runs, including two-pass runs."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nCleanerRuns"</p>
Total number of cleaner runs, including <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerTwoPassRuns--"><code>two-pass runs</code></a> but not including <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerRevisalRuns--"><code>revisal runs</code></a>. The <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>minimum</code></a> and
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--"><code>maximum</code></a> utilization values are used
to drive cleaning.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNCleanerTwoPassRuns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerTwoPassRuns</h4>
<pre>public&nbsp;long&nbsp;getNCleanerTwoPassRuns()</pre>
<div class="block"><p>"Number of cleaner two-pass runs."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nTwoPassRuns"</p>
Number of cleaner two-pass runs, which are a subset of the
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerRuns--"><code>total cleaner runs</code></a>. The <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>minimum</code></a> and <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMaxUtilization--"><code>maximum</code></a> utilization values are used to
drive cleaning.
<p>
The obsolete portion of the log includes data that has expired. An
expiration histogram is stored for each file and used to compute the
expired size. The minimum and maximum utilization are the lower and
upper bounds of computed utilization. They are different only when the
TTL feature is used, and some data in the file has expired while other
data has become obsolete for other reasons, such as record updates,
record deletions or checkpoints. In this case the strictly obsolete size
and the expired size may overlap because they are maintained separately.
<p>
If they overlap completely then the minimum utilization is correct,
while if there is no overlap then the maximum utilization is correct.
Both utilization values trigger cleaning, but when there is significant
overlap, the cleaner will perform two-pass cleaning.
<p>
In the first pass of two-pass cleaning, the file is read to recompute
obsolete and expired sizes, but the file is not cleaned. As a result of
recomputing the expired sizes, the strictly obsolete and expired sizes
will no longer overlap, and the minimum and maximum utilization will be
equal. If the file should still be cleaned, based on the recomputed
utilization, it is cleaned as usual, and in this case the number of
two-pass runs (this statistic) is incremented.
<p>
If the file should not be cleaned because its recomputed utilization is
higher than expected, the file will not be cleaned. Instead, its
recomputed expiration histogram, which has size information that now
does not overlap with the strictly obsolete data, is stored for future
use. By storing the revised histogram, the cleaner can select the most
appropriate files for cleaning in the future. In this case the number of
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerRevisalRuns--"><code>revisal runs</code></a> is incremented, and the
number of <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerRuns--"><code>total runs</code></a> is not incremented.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>6.5.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNCleanerRevisalRuns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerRevisalRuns</h4>
<pre>public&nbsp;long&nbsp;getNCleanerRevisalRuns()</pre>
<div class="block"><p>"Number of cleaner runs that ended in revising expiration info, but not in any cleaning."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nRevisalRuns"</p>
Number of cleaner runs that ended in revising expiration info, but not
in any cleaning.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>6.5.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../com/sleepycat/je/EnvironmentStats.html#getNCleanerTwoPassRuns--"><code>getNCleanerTwoPassRuns()</code></a>,
<a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNCleanerProbeRuns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerProbeRuns</h4>
<pre>public&nbsp;long&nbsp;getNCleanerProbeRuns()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">in JE 6.3, always returns zero.</span></div>
</li>
</ul>
<a name="getNCleanerDeletions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerDeletions</h4>
<pre>public&nbsp;long&nbsp;getNCleanerDeletions()</pre>
<div class="block"><p>"Number of cleaner file deletions."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nCleanerDeletions"</p>
The number of cleaner file deletions this session.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getPendingLNQueueSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingLNQueueSize</h4>
<pre>public&nbsp;int&nbsp;getPendingLNQueueSize()</pre>
<div class="block"><p>"Number of LNs pending because they were locked and could not be migrated."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "pendingLNQueueSize"</p>
The number of LNs pending because they were locked and could not be
migrated.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNCleanerDiskRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerDiskRead</h4>
<pre>public&nbsp;long&nbsp;getNCleanerDiskRead()</pre>
<div class="block"><p>"Number of disk reads by the cleaner."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nCleanerDisksReads"</p>
The number of disk reads performed by the cleaner.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNCleanerEntriesRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCleanerEntriesRead</h4>
<pre>public&nbsp;long&nbsp;getNCleanerEntriesRead()</pre>
<div class="block"><p>"Accumulated number of log entries read by the cleaner."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nCleanerEntriesRead"</p>
The accumulated number of log entries read by the cleaner.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNINsObsolete--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINsObsolete</h4>
<pre>public&nbsp;long&nbsp;getNINsObsolete()</pre>
<div class="block"><p>"Accumulated number of INs obsolete."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nINsObsolete"</p>
The accumulated number of INs obsolete.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNINsCleaned--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINsCleaned</h4>
<pre>public&nbsp;long&nbsp;getNINsCleaned()</pre>
<div class="block"><p>"Accumulated number of INs cleaned."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nINsCleaned"</p>
The accumulated number of INs cleaned.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNINsDead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINsDead</h4>
<pre>public&nbsp;long&nbsp;getNINsDead()</pre>
<div class="block"><p>"Accumulated number of INs that were not found in the tree anymore (deleted)."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nINsDead"</p>
The accumulated number of INs that were not found in the tree anymore
(deleted).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNINsMigrated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINsMigrated</h4>
<pre>public&nbsp;long&nbsp;getNINsMigrated()</pre>
<div class="block"><p>"Accumulated number of INs migrated."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nINsMigrated"</p>
The accumulated number of INs migrated.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNBINDeltasObsolete--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINDeltasObsolete</h4>
<pre>public&nbsp;long&nbsp;getNBINDeltasObsolete()</pre>
<div class="block"><p>"Accumulated number of BIN-deltas obsolete."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nBINDeltasObsolete"</p>
The accumulated number of BIN-deltas obsolete.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNBINDeltasCleaned--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINDeltasCleaned</h4>
<pre>public&nbsp;long&nbsp;getNBINDeltasCleaned()</pre>
<div class="block"><p>"Accumulated number of BIN-deltas cleaned."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nBINDeltasCleaned"</p>
The accumulated number of BIN-deltas cleaned.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNBINDeltasDead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINDeltasDead</h4>
<pre>public&nbsp;long&nbsp;getNBINDeltasDead()</pre>
<div class="block"><p>"Accumulated number of BIN-deltas that were not found in the tree anymore (deleted)."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nBINDeltasDead"</p>
The accumulated number of BIN-deltas that were not found in the tree
anymore (deleted).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNBINDeltasMigrated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINDeltasMigrated</h4>
<pre>public&nbsp;long&nbsp;getNBINDeltasMigrated()</pre>
<div class="block"><p>"Accumulated number of BIN-deltas migrated."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nBINDeltasMigrated"</p>
The accumulated number of BIN-deltas migrated.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsObsolete--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsObsolete</h4>
<pre>public&nbsp;long&nbsp;getNLNsObsolete()</pre>
<div class="block"><p>"Accumulated number of LNs obsolete."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsObsolete"</p>
The accumulated number of LNs obsolete.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsExpired--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsExpired</h4>
<pre>public&nbsp;long&nbsp;getNLNsExpired()</pre>
<div class="block"><p>"Accumulated number of obsolete LNs that were expired."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsExpired"</p>
The accumulated number of obsolete LNs that were expired. Note that
this does not included embedded LNs (those having a data size less than
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>EnvironmentConfig.TREE_MAX_EMBEDDED_LN</code></a>), because embedded LNs
are always considered obsolete.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsCleaned--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsCleaned</h4>
<pre>public&nbsp;long&nbsp;getNLNsCleaned()</pre>
<div class="block"><p>"Accumulated number of LNs cleaned."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsCleaned"</p>
The accumulated number of LNs cleaned.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsDead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsDead</h4>
<pre>public&nbsp;long&nbsp;getNLNsDead()</pre>
<div class="block"><p>"Accumulated number of LNs that were not found in the tree anymore (deleted)."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsDead"</p>
The accumulated number of LNs that were not found in the tree anymore
(deleted).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsLocked--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsLocked</h4>
<pre>public&nbsp;long&nbsp;getNLNsLocked()</pre>
<div class="block"><p>"Accumulated number of LNs encountered that were locked."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsLocked"</p>
The accumulated number of LNs encountered that were locked.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsMigrated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsMigrated</h4>
<pre>public&nbsp;long&nbsp;getNLNsMigrated()</pre>
<div class="block"><p>"Accumulated number of LNs that were migrated forward in the log by the cleaner."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsMigrated"</p>
The accumulated number of LNs encountered that were migrated forward in
the log by the cleaner.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsMarked--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsMarked</h4>
<pre>public&nbsp;long&nbsp;getNLNsMarked()</pre>
<div class="block"><p>"Accumulated number of LNs in temporary DBs that were dirtied by the cleaner and subsequently logging during checkpoint/eviction."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNsMarked"</p>
The accumulated number of LNs in temporary DBs that were dirtied by the
cleaner and subsequently logging during checkpoint/eviction.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNLNQueueHits--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNQueueHits</h4>
<pre>public&nbsp;long&nbsp;getNLNQueueHits()</pre>
<div class="block"><p>"Accumulated number of LNs processed without a tree lookup."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nLNQueueHits"</p>
The accumulated number of LNs processed without a tree lookup.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNPendingLNsProcessed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNPendingLNsProcessed</h4>
<pre>public&nbsp;long&nbsp;getNPendingLNsProcessed()</pre>
<div class="block"><p>"Accumulated number of LNs processed because they were previously locked."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nPendingLNsProcessed"</p>
The accumulated number of LNs processed because they were previously
locked.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNMarkedLNsProcessed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNMarkedLNsProcessed</h4>
<pre>public&nbsp;long&nbsp;getNMarkedLNsProcessed()</pre>
<div class="block"><p>"Accumulated number of LNs processed because they were previously marked for migration."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nMarkLNsProcessed"</p>
The accumulated number of LNs processed because they were previously
marked for migration.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNToBeCleanedLNsProcessed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNToBeCleanedLNsProcessed</h4>
<pre>public&nbsp;long&nbsp;getNToBeCleanedLNsProcessed()</pre>
<div class="block"><p>"Accumulated number of LNs processed because they are soon to be cleaned."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nToBeCleanedLNsProcessed"</p>
The accumulated number of LNs processed because they are soon to be
cleaned.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNClusterLNsProcessed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNClusterLNsProcessed</h4>
<pre>public&nbsp;long&nbsp;getNClusterLNsProcessed()</pre>
<div class="block"><p>"Accumulated number of LNs processed because they qualify for clustering."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nClusterLNsProcessed"</p>
The accumulated number of LNs processed because they qualify for
clustering.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNPendingLNsLocked--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNPendingLNsLocked</h4>
<pre>public&nbsp;long&nbsp;getNPendingLNsLocked()</pre>
<div class="block"><p>"Accumulated number of pending LNs that could not be locked for migration because of a long duration application lock."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nPendingLNsLocked"</p>
The accumulated number of pending LNs that could not be locked for
migration because of a long duration application lock.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNRepeatIteratorReads--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRepeatIteratorReads</h4>
<pre>public&nbsp;long&nbsp;getNRepeatIteratorReads()</pre>
<div class="block"><p>"Number of attempts to read a log entry larger than the read buffer size during which the log buffer couldn\'t be grown enough to accommodate the object."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "nRepeatIteratorReads"</p>
The number of times we tried to read a log entry larger than the read
buffer size and couldn't grow the log buffer to accommodate the large
object. This happens during scans of the log during activities like
environment open or log cleaning. Implies that the read chunk size
controlled by je.log.iteratorReadSize is too small.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getActiveLogSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActiveLogSize</h4>
<pre>public&nbsp;long&nbsp;getActiveLogSize()</pre>
<div class="block"><p>"Bytes used by all active data files: files required for basic JE operation."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "activeLogSize"</p>
<p>The <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCurrentMinUtilization--"><code>log utilization</code></a> is the
percentage of activeLogSize that is currently referenced or active.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getReservedLogSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReservedLogSize</h4>
<pre>public&nbsp;long&nbsp;getReservedLogSize()</pre>
<div class="block"><p>"Bytes used by all reserved data files: files that have beencleaned and can be deleted if they are not protected."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "reservedLogSize"</p>
<p>Deletion of reserved files may be postponed for several reasons.
This occurs if an active file is protected (by a backup, for example),
and then the file is cleaned and becomes a reserved file. See
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSizeMap--"><code>getProtectedLogSizeMap()</code></a> for more information. In a
standalone JE environment, reserved files are normally deleted very
soon after being cleaned.</p>
<p>In an HA environment, reserved files are retained because they might
be used for replication to electable nodes that have been offline
for the <a href="../../../com/sleepycat/je/rep/ReplicationConfig.html#FEEDER_TIMEOUT"><code>ReplicationConfig.FEEDER_TIMEOUT</code></a>
interval or longer, or to offline secondary nodes. The replication
stream position of these nodes is unknown, so whether these files could
be used to avoid a network restore, when bringing these nodes online,
is also unknown. The files are retained just in case they can be used
for such replication. Files are reserved for replication on both master
and replicas, since a replica may become a master at a future time.
Such files will be deleted (oldest file first) to make room for a
write operation, if the write operation would have caused a disk limit
to be violated.</p>
<p>In NoSQL DB, this retention of reserved files has the additional
benefit of supplying the replication stream to subscribers of the
Stream API, when such subscribers need to replay the stream from an
earlier point in time.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getProtectedLogSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProtectedLogSize</h4>
<pre>public&nbsp;long&nbsp;getProtectedLogSize()</pre>
<div class="block"><p>"Bytes used by all protected data files: the subset of reserved files that are temporarily protected and cannot be deleted."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "protectedLogSize"</p>
<p>Reserved files are protected for reasons described by <a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSizeMap--"><code>getProtectedLogSizeMap()</code></a>.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getProtectedLogSizeMap--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProtectedLogSizeMap</h4>
<pre>public&nbsp;java.util.SortedMap&lt;java.lang.String,java.lang.Long&gt;&nbsp;getProtectedLogSizeMap()</pre>
<div class="block"><p>"A breakdown of protectedLogSize as a map of protecting entity name to protected size in bytes."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "protectedLogSizeMap"</p>
<p><a href="../../../com/sleepycat/je/EnvironmentStats.html#getReservedLogSize--"><code>Reserved</code></a> data files are temporarily
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSize--"><code>protected</code></a> for a number of reasons. The
keys in the protected log size map are the names of the protecting
entities, and the values are the number of bytes protected by each
entity. The type and format of the entity names are as follows:</p>
<pre>
Backup-N
DatabaseCount-N
DiskOrderedCursor-N
Syncup-N
Feeder-N
NetworkRestore-N
</pre>
<p>Where:</p>
<ul>
<li>
<code>Backup-N</code> represents a <a href="../../../com/sleepycat/je/util/DbBackup.html" title="class in com.sleepycat.je.util"><code>DbBackup</code></a> in progress,
i.e., for which <a href="../../../com/sleepycat/je/util/DbBackup.html#startBackup--"><code>DbBackup.startBackup()</code></a> has been called
and <a href="../../../com/sleepycat/je/util/DbBackup.html#endBackup--"><code>DbBackup.endBackup()</code></a> has not yet been called. All
active files are initially protected by the backup, but these
are not reserved files ond only appear in the map if they are
cleaned and become reserved after the backup starts. Files
are not protected if they have been copied and
<a href="../../../com/sleepycat/je/util/DbBackup.html#removeFileProtection-java.lang.String-"><code>DbBackup.removeFileProtection(String)</code></a> has been called.
<code>N</code> is a sequentially assigned integer.
</li>
<li>
<code>DatabaseCount-N</code> represents an outstanding call to
<a href="../../../com/sleepycat/je/Database.html#count--"><code>Database.count()</code></a>.
All active files are initially protected by this method, but
these are not reserved files ond only appear in the map if
they are cleaned and become reserved during the execution of
<code>Database.count</code>.
<code>N</code> is a sequentially assigned integer.
</li>
<li>
<code>DiskOrderedCursor-N</code> represents a
<a href="../../../com/sleepycat/je/DiskOrderedCursor.html" title="class in com.sleepycat.je"><code>DiskOrderedCursor</code></a> that has not yet been closed by
<a href="../../../com/sleepycat/je/DiskOrderedCursor.html#close--"><code>DiskOrderedCursor.close()</code></a>.
All active files are initially protected when the cursor is
opened, but these are not reserved files ond only appear in
the map if they are cleaned and become reserved while the
cursor is open.
<code>N</code> is a sequentially assigned integer.
</li>
<li>
<code>Syncup-N</code> represents an in-progress negotiation between
a master and replica node in an HA replication group to
establish a replication stream. This is a normally a very short
negotiation and occurs when a replica joins the group or after
an election is held. During syncup, all reserved files are
protected.
<code>N</code> is the node name of the other node involved in the
syncup, i.e, if this node is a master then it is the name of
the replica, and vice versa.
</li>
<li>
<code>Feeder-N</code> represents an HA master node that is supplying
the replication stream to a replica. Normally data in active
files is being supplied and this data is not in the reserved
or protected categories. But if the replica is lagging, data
from reserved files may be supplied, and in that case will be
protected and appear in the map.
<code>N</code> is the node name of the replica receiving the
replication stream.
</li>
<li>
<code>NetworkRestore-N</code> represents an HA replica or master
node that is supplying files to a node that is performing a
<a href="../../../com/sleepycat/je/rep/NetworkRestore.html" title="class in com.sleepycat.je.rep"><code>NetworkRestore</code></a>. The files supplied
are all active files plus the two most recently written
reserved files. The two reserved files will appear in the map,
as well as any of the active files that were cleaned and became
reserved during the network restore. Files that have already
been copied by the network restore are not protected.
<code>N</code> is the name of the node performing the
<a href="../../../com/sleepycat/je/rep/NetworkRestore.html" title="class in com.sleepycat.je.rep"><code>NetworkRestore</code></a>.
</li>
</ul>
<p>When more than one entity is included in the map, in general the
largest value points to the entity primarily responsible for
preventing reclamation of disk space. Note that the values normally
sum to more than <a href="../../../com/sleepycat/je/EnvironmentStats.html#getProtectedLogSize--"><code>getProtectedLogSize()</code></a>, since protection often
overlaps.</p>
<p>The string format of this stat consists of <code>name=size</code> pairs
separated by semicolons, where name is the entity name described
above and size is the number of protected bytes.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getAvailableLogSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvailableLogSize</h4>
<pre>public&nbsp;long&nbsp;getAvailableLogSize()</pre>
<div class="block"><p>"Bytes available for write operations when unprotected reserved files are deleted: free space + reservedLogSize - protectedLogSize."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "availableLogSize"</p>
<p>This is the amount that can be logged by write operations, and
other JE activity such as checkpointing, without violating a disk
limit. The files making up <code>reservedLogSize</code> can be deleted to
make room for these write operations, so <code>availableLogSize</code> is
the sum of the current disk free space and the reserved size that is not
protected (<code>reservedLogSize</code> - <code>protectedLogSize</code>). The
current disk free space is calculated using the disk volume's free
space, <a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_DISK"><code>EnvironmentConfig.MAX_DISK</code></a> and <a href="../../../com/sleepycat/je/EnvironmentConfig.html#FREE_DISK"><code>EnvironmentConfig.FREE_DISK</code></a>.</p>
<p>Note that when a record is written, the number of bytes includes JE
overheads for the record. Also, this causes Btree metadata to be
written during checkpoints, and other metadata is also written by JE.
So the space occupied on disk by a given set of records cannot be
calculated by simply summing the key/data sizes.</p>
<p>Also note that <code>availableLogSize</code> will be negative when a disk
limit has been violated, representing the amount that needs to be freed
before write operations are allowed.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.5</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a>,
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_DISK"><code>EnvironmentConfig.MAX_DISK</code></a>,
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#FREE_DISK"><code>EnvironmentConfig.FREE_DISK</code></a></dd>
</dl>
</li>
</ul>
<a name="getTotalLogSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalLogSize</h4>
<pre>public&nbsp;long&nbsp;getTotalLogSize()</pre>
<div class="block"><p>"Total bytes used by data files on disk: activeLogSize + reservedLogSize."</p>
<p style="margin-left: 2em">Group: "Cleaning"
<br/>Name: "totalLogSize"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cleaner">Cleaner Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNCacheMiss--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCacheMiss</h4>
<pre>public&nbsp;long&nbsp;getNCacheMiss()</pre>
<div class="block">The total number of requests for database objects which were not in
memory.</div>
</li>
</ul>
<a name="getEndOfLog--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEndOfLog</h4>
<pre>public&nbsp;long&nbsp;getEndOfLog()</pre>
<div class="block">The location of the next entry to be written to the log.
<p>Note that the log entries prior to this position may not yet have
been flushed to disk. Flushing can be forced using a Sync or
WriteNoSync commit, or a checkpoint.</p></div>
</li>
</ul>
<a name="getNFSyncs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFSyncs</h4>
<pre>public&nbsp;long&nbsp;getNFSyncs()</pre>
<div class="block">The number of fsyncs issued through the group commit manager. A subset
of nLogFsyncs.</div>
</li>
</ul>
<a name="getNFSyncRequests--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFSyncRequests</h4>
<pre>public&nbsp;long&nbsp;getNFSyncRequests()</pre>
<div class="block">The number of fsyncs requested through the group commit manager.</div>
</li>
</ul>
<a name="getNFSyncTimeouts--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFSyncTimeouts</h4>
<pre>public&nbsp;long&nbsp;getNFSyncTimeouts()</pre>
<div class="block">The number of fsync requests submitted to the group commit manager which
timed out.</div>
</li>
</ul>
<a name="getFSyncTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFSyncTime</h4>
<pre>public&nbsp;long&nbsp;getFSyncTime()</pre>
<div class="block">The total number of milliseconds used to perform fsyncs.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.0, although the stat was output by <a href="../../../com/sleepycat/je/EnvironmentStats.html#toString--"><code>toString()</code></a> and
appeared in the je.stat.csv file in earlier versions.</dd>
</dl>
</li>
</ul>
<a name="getFSyncMaxTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFSyncMaxTime</h4>
<pre>public&nbsp;long&nbsp;getFSyncMaxTime()</pre>
<div class="block">The maximum number of milliseconds used to perform a single fsync.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>7.0</dd>
</dl>
</li>
</ul>
<a name="getNLogFSyncs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLogFSyncs</h4>
<pre>public&nbsp;long&nbsp;getNLogFSyncs()</pre>
<div class="block">The total number of fsyncs of the JE log. This includes those fsyncs
issued on behalf of transaction commits.</div>
</li>
</ul>
<a name="getNLogBuffers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLogBuffers</h4>
<pre>public&nbsp;int&nbsp;getNLogBuffers()</pre>
<div class="block">The number of log buffers currently instantiated.</div>
</li>
</ul>
<a name="getNRandomReads--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRandomReads</h4>
<pre>public&nbsp;long&nbsp;getNRandomReads()</pre>
<div class="block">The number of disk reads which required repositioning the disk head
more than 1MB from the previous file position. Reads in a different
*.jdb log file then the last IO constitute a random read.
<p>
This number is approximate and may differ from the actual number of
random disk reads depending on the type of disks and file system, disk
geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNRandomReadBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRandomReadBytes</h4>
<pre>public&nbsp;long&nbsp;getNRandomReadBytes()</pre>
<div class="block">The number of bytes read which required repositioning the disk head
more than 1MB from the previous file position. Reads in a different
*.jdb log file then the last IO constitute a random read.
<p>
This number is approximate vary depending on the type of disks and file
system, disk geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNRandomWrites--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRandomWrites</h4>
<pre>public&nbsp;long&nbsp;getNRandomWrites()</pre>
<div class="block">The number of disk writes which required repositioning the disk head by
more than 1MB from the previous file position. Writes to a different
*.jdb log file (i.e. a file "flip") then the last IO constitute a random
write.
<p>
This number is approximate and may differ from the actual number of
random disk writes depending on the type of disks and file system, disk
geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNRandomWriteBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRandomWriteBytes</h4>
<pre>public&nbsp;long&nbsp;getNRandomWriteBytes()</pre>
<div class="block">The number of bytes written which required repositioning the disk head
more than 1MB from the previous file position. Writes in a different
*.jdb log file then the last IO constitute a random write.
<p>
This number is approximate vary depending on the type of disks and file
system, disk geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNSequentialReads--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNSequentialReads</h4>
<pre>public&nbsp;long&nbsp;getNSequentialReads()</pre>
<div class="block">The number of disk reads which did not require repositioning the disk
head more than 1MB from the previous file position. Reads in a
different *.jdb log file then the last IO constitute a random read.
<p>
This number is approximate and may differ from the actual number of
sequential disk reads depending on the type of disks and file system,
disk geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNSequentialReadBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNSequentialReadBytes</h4>
<pre>public&nbsp;long&nbsp;getNSequentialReadBytes()</pre>
<div class="block">The number of bytes read which did not require repositioning the disk
head more than 1MB from the previous file position. Reads in a
different *.jdb log file then the last IO constitute a random read.
<p>
This number is approximate vary depending on the type of disks and file
system, disk geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNSequentialWrites--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNSequentialWrites</h4>
<pre>public&nbsp;long&nbsp;getNSequentialWrites()</pre>
<div class="block">The number of disk writes which did not require repositioning the disk
head by more than 1MB from the previous file position. Writes to a
different *.jdb log file (i.e. a file "flip") then the last IO
constitute a random write.
<p>
This number is approximate and may differ from the actual number of
sequential disk writes depending on the type of disks and file system,
disk geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNSequentialWriteBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNSequentialWriteBytes</h4>
<pre>public&nbsp;long&nbsp;getNSequentialWriteBytes()</pre>
<div class="block">The number of bytes written which did not require repositioning the
disk head more than 1MB from the previous file position. Writes in a
different *.jdb log file then the last IO constitute a random write.
<p>
This number is approximate vary depending on the type of disks and file
system, disk geometry, and file system cache size.</div>
</li>
</ul>
<a name="getNBytesReadFromWriteQueue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesReadFromWriteQueue</h4>
<pre>public&nbsp;long&nbsp;getNBytesReadFromWriteQueue()</pre>
<div class="block">The number of bytes read to fulfill file read operations by reading out
of the pending write queue.</div>
</li>
</ul>
<a name="getNBytesWrittenFromWriteQueue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesWrittenFromWriteQueue</h4>
<pre>public&nbsp;long&nbsp;getNBytesWrittenFromWriteQueue()</pre>
<div class="block">The number of bytes written from the pending write queue.</div>
</li>
</ul>
<a name="getNReadsFromWriteQueue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNReadsFromWriteQueue</h4>
<pre>public&nbsp;long&nbsp;getNReadsFromWriteQueue()</pre>
<div class="block">The number of file read operations which were fulfilled by reading out
of the pending write queue.</div>
</li>
</ul>
<a name="getNWritesFromWriteQueue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNWritesFromWriteQueue</h4>
<pre>public&nbsp;long&nbsp;getNWritesFromWriteQueue()</pre>
<div class="block">The number of file writes operations executed from the pending write
queue.</div>
</li>
</ul>
<a name="getNWriteQueueOverflow--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNWriteQueueOverflow</h4>
<pre>public&nbsp;long&nbsp;getNWriteQueueOverflow()</pre>
<div class="block">The number of writes operations which would overflow the Write Queue.</div>
</li>
</ul>
<a name="getNWriteQueueOverflowFailures--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNWriteQueueOverflowFailures</h4>
<pre>public&nbsp;long&nbsp;getNWriteQueueOverflowFailures()</pre>
<div class="block">The number of writes operations which would overflow the Write Queue
and could not be queued.</div>
</li>
</ul>
<a name="getBufferBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBufferBytes</h4>
<pre>public&nbsp;long&nbsp;getBufferBytes()</pre>
<div class="block">The total memory currently consumed by log buffers, in bytes. If this
environment uses the shared cache, this method returns only the amount
used by this environment.</div>
</li>
</ul>
<a name="getNNotResident--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNotResident</h4>
<pre>public&nbsp;long&nbsp;getNNotResident()</pre>
<div class="block">The number of requests for database objects not contained within the
in memory data structures.</div>
</li>
</ul>
<a name="getNRepeatFaultReads--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRepeatFaultReads</h4>
<pre>public&nbsp;long&nbsp;getNRepeatFaultReads()</pre>
<div class="block">The number of reads which had to be repeated when faulting in an object
from disk because the read chunk size controlled by je.log.faultReadSize
is too small.</div>
</li>
</ul>
<a name="getNTempBufferWrites--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNTempBufferWrites</h4>
<pre>public&nbsp;long&nbsp;getNTempBufferWrites()</pre>
<div class="block">The number of writes which had to be completed using the temporary
marshalling buffer because the fixed size log buffers specified by
je.log.totalBufferBytes and je.log.numBuffers were not large enough.</div>
</li>
</ul>
<a name="getNFileOpens--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFileOpens</h4>
<pre>public&nbsp;int&nbsp;getNFileOpens()</pre>
<div class="block">The number of times a log file has been opened.</div>
</li>
</ul>
<a name="getNOpenFiles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNOpenFiles</h4>
<pre>public&nbsp;int&nbsp;getNOpenFiles()</pre>
<div class="block">The number of files currently open in the file cache.</div>
</li>
</ul>
<a name="getRequiredEvictBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequiredEvictBytes</h4>
<pre>public&nbsp;long&nbsp;getRequiredEvictBytes()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">The method returns 0 always.</span></div>
</li>
</ul>
<a name="getNNodesScanned--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesScanned</h4>
<pre>public&nbsp;long&nbsp;getNNodesScanned()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has no meaning after the implementation
of the new evictor in JE 6.0. The method returns 0 always.</span></div>
</li>
</ul>
<a name="getNEvictPasses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNEvictPasses</h4>
<pre>public&nbsp;long&nbsp;getNEvictPasses()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNEvictionRuns--"><code>getNEvictionRuns()</code></a> instead.</span></div>
</li>
</ul>
<a name="getNNodesSelected--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesSelected</h4>
<pre>public&nbsp;long&nbsp;getNNodesSelected()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesTargeted--"><code>getNNodesTargeted()</code></a> instead.</span></div>
</li>
</ul>
<a name="getNNodesExplicitlyEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesExplicitlyEvicted</h4>
<pre>public&nbsp;long&nbsp;getNNodesExplicitlyEvicted()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesEvicted--"><code>getNNodesEvicted()</code></a> instead.</span></div>
</li>
</ul>
<a name="getNBINsStripped--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsStripped</h4>
<pre>public&nbsp;long&nbsp;getNBINsStripped()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesStripped--"><code>getNNodesStripped()</code></a> instead.</span></div>
</li>
</ul>
<a name="getNBINsMutated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsMutated</h4>
<pre>public&nbsp;long&nbsp;getNBINsMutated()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMutated--"><code>getNNodesMutated()</code></a> instead.</span></div>
</li>
</ul>
<a name="getNEvictionRuns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNEvictionRuns</h4>
<pre>public&nbsp;long&nbsp;getNEvictionRuns()</pre>
<div class="block"><p>"Number of times the background eviction thread is awoken."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nEvictionRuns"</p>
<p>When an evictor thread is awoken it performs eviction until
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--"><code>getCacheTotalBytes()</code></a> is at least
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#EVICTOR_EVICT_BYTES"><code>EnvironmentConfig.EVICTOR_EVICT_BYTES</code></a> less than the
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#MAX_MEMORY_PERCENT"><code>total cache size</code></a>.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cache">Cache Statistics</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesTargeted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesTargeted</h4>
<pre>public&nbsp;long&nbsp;getNNodesTargeted()</pre>
<div class="block"><p>"Number of nodes (INs) selected as eviction targets."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesTargeted"</p>
<p>An eviction target may actually be evicted, or skipped, or put back
to the LRU, potentially after partial eviction (stripping) or
BIN-delta mutation is done on it.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesEvicted</h4>
<pre>public&nbsp;long&nbsp;getNNodesEvicted()</pre>
<div class="block"><p>"Number of target nodes (INs) evicted from the main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesEvicted"</p>
<p>Does not include <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsEvicted--"><code>LN eviction</code></a> or
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMutated--"><code>BIN-delta mutation</code></a>.
Includes eviction of <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNDirtyNodesEvicted--"><code>dirty nodes</code></a> and
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNRootNodesEvicted--"><code>root nodes</code></a>.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNRootNodesEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRootNodesEvicted</h4>
<pre>public&nbsp;long&nbsp;getNRootNodesEvicted()</pre>
<div class="block"><p>"Number of database root nodes (INs) evicted."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nRootNodesEvicted"</p>
<p>The root node of a Database is only evicted after all other nodes in
the Database, so this implies that the entire Database has fallen out of
cache and is probably closed.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNDirtyNodesEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNDirtyNodesEvicted</h4>
<pre>public&nbsp;long&nbsp;getNDirtyNodesEvicted()</pre>
<div class="block"><p>"Number of dirty target nodes logged and evicted."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nDirtyNodesEvicted"</p>
<p>When a dirty IN is evicted from main cache and no off-heap cache is
configured, the IN must be logged. When an off-heap cache is configured,
dirty INs can be moved from main cache to off-heap cache based on LRU,
but INs are only logged when they are evicted from off-heap cache.
Therefore, this stat is always zero when an off-heap cache is configured.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsEvicted</h4>
<pre>public&nbsp;long&nbsp;getNLNsEvicted()</pre>
<div class="block"><p>"Number of LNs evicted as a result of LRU-based eviction (but not CacheMode.EVICT_LN)."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nLNsEvicted"</p>
<p>When a BIN is considered for eviction based on LRU, if the BIN
contains resident LNs in main cache, it is stripped of the LNs rather
than being evicted. This stat reflects LNs evicted in this manner, but
not LNs evicted as a result of using <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a>. Also
note that <a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>embedded</code></a> LNs
are evicted immediately and are not reflected in this stat value.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesStripped--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesStripped</h4>
<pre>public&nbsp;long&nbsp;getNNodesStripped()</pre>
<div class="block"><p>"Number of target BINs whose child LNs were evicted (stripped)."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesStripped"</p>
<p>BINs are stripped in order to <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNLNsEvicted--"><code>evict LNs</code></a>.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesMutated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesMutated</h4>
<pre>public&nbsp;long&nbsp;getNNodesMutated()</pre>
<div class="block"><p>"Number of target BINs mutated to BIN-deltas."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesMutated"</p>
<p>When a BIN is considered for eviction based on LRU, if the BIN
can be mutated to a BIN-delta, it is mutated rather than being evicted.
Note that when an off-heap cache is configured, this stat value will be
zero because BIN mutation will take place only in the off-heap cache;
see <a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesMutated--"><code>getOffHeapNodesMutated()</code></a>.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesPutBack--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesPutBack</h4>
<pre>public&nbsp;long&nbsp;getNNodesPutBack()</pre>
<div class="block"><p>"Number of target nodes (INs) moved to the cold end of the LRU list without any action taken on them."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesPutBack"</p>
<p>Reasons for putting back a target IN are:</p>
<ul>
<li>The IN was accessed by an operation while the evictor was
processing it.</li>
<li>To prevent the cache usage for Btree objects from falling below
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MIN_MEMORY"><code>EnvironmentConfig.TREE_MIN_MEMORY</code></a>.</li>
</ul>
<p>See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesMovedToDirtyLRU--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesMovedToDirtyLRU</h4>
<pre>public&nbsp;long&nbsp;getNNodesMovedToDirtyLRU()</pre>
<div class="block"><p>"Number of nodes (INs) moved from the mixed/priority-1 to the dirty/priority-2 LRU list."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesMovedToDirtyLRU"</p>
<p>When an off-cache is not configured, dirty nodes are evicted last
from the main cache by moving them to a 2nd priority LRU list. When an
off-cache is configured, level-2 INs that reference off-heap BINs are
evicted last from the main cache, using the same approach.
See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNNodesSkipped--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNNodesSkipped</h4>
<pre>public&nbsp;long&nbsp;getNNodesSkipped()</pre>
<div class="block"><p>"Number of nodes (INs) that did not require any action."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nNodesSkipped"</p>
<p>Reasons for skipping a target IN are:</p>
<ul>
<li>It has already been evicted by another thread.</li>
<li>It cannot be evicted because concurrent activity added resident
child nodes.</li>
<li>It cannot be evicted because it is dirty and the environment is
read-only.</li>
</ul>
<p>See <a href="../../../com/sleepycat/je/CacheMode.html" title="enum in com.sleepycat.je"><code>CacheMode</code></a> for a description of eviction.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNThreadUnavailable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNThreadUnavailable</h4>
<pre>public&nbsp;long&nbsp;getNThreadUnavailable()</pre>
<div class="block"><p>"Number of eviction tasks that were submitted to the background evictor pool, but were refused because all eviction threads were busy."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nThreadUnavailable"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNSharedCacheEnvironments--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNSharedCacheEnvironments</h4>
<pre>public&nbsp;int&nbsp;getNSharedCacheEnvironments()</pre>
<div class="block"><p>"Number of Environments sharing the main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nSharedCacheEnvironments"</p>
<p>This method says nothing about whether this environment is using
the shared cache or not.</p></div>
</li>
</ul>
<a name="getNLNsFetch--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsFetch</h4>
<pre>public&nbsp;long&nbsp;getNLNsFetch()</pre>
<div class="block"><p>"Number of LNs (data records) requested by btree operations."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nLNsFetch"</p>
<p>Note that the number of LN fetches does not necessarily correspond
to the number of records accessed, since some LNs may be
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>embedded</code></a>.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNBINsFetch--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsFetch</h4>
<pre>public&nbsp;long&nbsp;getNBINsFetch()</pre>
<div class="block"><p>"Number of BINs (bottom internal nodes) and BIN-deltas requested by btree operations."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBINsFetch"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNUpperINsFetch--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsFetch</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsFetch()</pre>
<div class="block"><p>"Number of Upper INs (non-bottom internal nodes) requested by btree operations."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nUpperINsFetch"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNLNsFetchMiss--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNLNsFetchMiss</h4>
<pre>public&nbsp;long&nbsp;getNLNsFetchMiss()</pre>
<div class="block"><p>"Number of LNs (data records) requested by btree operations that were not in main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nLNsFetchMiss"</p>
<p>Note that the number of LN fetches does not necessarily correspond
to the number of records accessed, since some LNs may be
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_MAX_EMBEDDED_LN"><code>embedded</code></a>.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNBINsFetchMiss--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsFetchMiss</h4>
<pre>public&nbsp;long&nbsp;getNBINsFetchMiss()</pre>
<div class="block"><p>"Number of full BINs (bottom internal nodes) and BIN-deltas fetched to satisfy btree operations that were not in main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBINsFetchMiss"</p>
<p>This is the portion of <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetch--"><code>getNBINsFetch()</code></a> that resulted in a
fetch miss. The fetch may be for a full BIN or BIN-delta
(<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINDeltasFetchMiss--"><code>getNBINDeltasFetchMiss()</code></a>), depending on whether a BIN-delta
currently exists (see <a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_BIN_DELTA"><code>EnvironmentConfig.TREE_BIN_DELTA</code></a>).
However, additional full BIN fetches occur when mutating a BIN-delta to
a full BIN (<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFullBINsMiss--"><code>getNFullBINsMiss()</code></a>) whenever this is necessary for
completing an operation.</p>
<p>Therefore, the total number of BIN fetch misses
(including BIN-deltas) is:</p>
<p style="margin-left: 2em"><code>nFullBINsMiss + nBINsFetchMiss</code></p>
<p>And the total number of full BIN (vs BIN-delta) fetch misses is:</p>
<p style="margin-left: 2em"><code>nFullBINsMiss + nBINsFetchMiss -
nBINDeltasFetchMiss</code></p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNBINDeltasFetchMiss--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINDeltasFetchMiss</h4>
<pre>public&nbsp;long&nbsp;getNBINDeltasFetchMiss()</pre>
<div class="block"><p>"Number of BIN-deltas (partial BINs) fetched to satisfy btree operations that were not in main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBINDeltasFetchMiss"</p>
<p>This represents the portion of <code>nBINsFetchMiss()</code> that fetched
BIN-deltas rather than full BINs. See <a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetchMiss--"><code>getNBINsFetchMiss()</code></a>.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNFullBINsMiss--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNFullBINsMiss</h4>
<pre>public&nbsp;long&nbsp;getNFullBINsMiss()</pre>
<div class="block"><p>"Number of times a BIN-delta had to be mutated to a full BIN (and as a result a full BIN had to be read in from the log)."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nFullBINsMiss"</p>
<p>Note that this stat does not include full BIN misses that are
<i>not</i> due to BIN-delta mutations. See
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNBINsFetchMiss--"><code>getNBINsFetchMiss()</code></a></p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNUpperINsFetchMiss--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsFetchMiss</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsFetchMiss()</pre>
<div class="block"><p>"Number of Upper INs (non-bottom internal nodes) requested by btree operations that were not in main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nUpperINsFetchMiss"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNBINsFetchMissRatio--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsFetchMissRatio</h4>
<pre>public&nbsp;float&nbsp;getNBINsFetchMissRatio()</pre>
<div class="block"><p>"The BIN fetch miss ratio (nBINsFetchMiss / nBINsFetch)"</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBINsFetchMissRatio"</p>
<p>This stat can be misleading because it does not include the number
of full BIN fetch misses resulting from BIN-delta mutations (<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNFullBINsMiss--"><code>getNFullBINsMiss()</code></a>. It may be improved, or perhaps deprecated, in a
future release.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNBINDeltaBlindOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINDeltaBlindOps</h4>
<pre>public&nbsp;long&nbsp;getNBINDeltaBlindOps()</pre>
<div class="block"><p>"The number of operations performed blindly in BIN deltas"</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBinDeltaBlindOps"</p>
<p>Note that this stat is misplaced. It should be in the
"Environment" group
and will probably be moved there in a future release.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a>,
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_BIN_DELTA"><code>EnvironmentConfig.TREE_BIN_DELTA</code></a></dd>
</dl>
</li>
</ul>
<a name="getNCachedUpperINs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCachedUpperINs</h4>
<pre>public&nbsp;long&nbsp;getNCachedUpperINs()</pre>
<div class="block"><p>"Number of upper INs (non-bottom internal nodes) in main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nCachedUpperINs"</p>
<p>When used on shared environment caches, zero is returned when <a href="../../../com/sleepycat/je/StatsConfig.html#setFast-boolean-"><code>fast stats</code></a> are requested.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNCachedBINs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCachedBINs</h4>
<pre>public&nbsp;long&nbsp;getNCachedBINs()</pre>
<div class="block"><p>"Number of BINs (bottom internal nodes) and BIN-deltas in main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nCachedBINs"</p>
<p>When used on shared environment caches, zero is returned when <a href="../../../com/sleepycat/je/StatsConfig.html#setFast-boolean-"><code>fast stats</code></a> are requested.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNCachedBINDeltas--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNCachedBINDeltas</h4>
<pre>public&nbsp;long&nbsp;getNCachedBINDeltas()</pre>
<div class="block"><p>"Number of BIN-deltas (partial BINs) in main cache. This is a subset of the nCachedBINs value."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nCachedBINDeltas"</p>
<p>When used on shared environment caches, zero is returned when <a href="../../../com/sleepycat/je/StatsConfig.html#setFast-boolean-"><code>fast stats</code></a> are requested.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getNINSparseTarget--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINSparseTarget</h4>
<pre>public&nbsp;long&nbsp;getNINSparseTarget()</pre>
<div class="block"><p>"Number of INs that use a compact sparse array representation to point to child nodes in the main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nINSparseTarget"</p>
<p>Each IN contains an array of references to child INs or LNs. When
there are between one and four children resident, the size of the array
is reduced to four. This saves a significant amount of cache memory for
BINs when <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a> is used, because there are
typically only a small number of LNs resident in main cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNINNoTarget--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINNoTarget</h4>
<pre>public&nbsp;long&nbsp;getNINNoTarget()</pre>
<div class="block"><p>"Number of INs that use a compact representation when none of its child nodes are in the main cache."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nINNoTarget"</p>
<p>Each IN contains an array of references to child INs or LNs. When
there are no children resident, no array is allocated. This saves a
significant amount of cache memory for BINs when <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a> is used, because there are typically only a small
number of LNs resident in main cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getNINCompactKeyIN--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNINCompactKeyIN</h4>
<pre>public&nbsp;long&nbsp;getNINCompactKeyIN()</pre>
<div class="block"><p>"Number of INs that use a compact key representation to minimize the key object representation overhead."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nINCompactKey"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizeOptimizations">Cache Statistics: Size
Optimizations</a>,
<a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_COMPACT_MAX_KEY_LENGTH"><code>EnvironmentConfig.TREE_COMPACT_MAX_KEY_LENGTH</code></a></dd>
</dl>
</li>
</ul>
<a name="getDirtyLRUSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDirtyLRUSize</h4>
<pre>public&nbsp;long&nbsp;getDirtyLRUSize()</pre>
<div class="block"><p>"Number of INs in the dirty/priority-2 LRU "</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "lruDirtySize"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a>,
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMovedToDirtyLRU--"><code>getNNodesMovedToDirtyLRU()</code></a></dd>
</dl>
</li>
</ul>
<a name="getMixedLRUSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMixedLRUSize</h4>
<pre>public&nbsp;long&nbsp;getMixedLRUSize()</pre>
<div class="block"><p>"Number of INs in the mixed/priority-1 LRU "</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "lruMixedSize"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a>,
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getNNodesMovedToDirtyLRU--"><code>getNNodesMovedToDirtyLRU()</code></a></dd>
</dl>
</li>
</ul>
<a name="getNBINsEvictedEvictorThread--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsEvictedEvictorThread</h4>
<pre>public&nbsp;long&nbsp;getNBINsEvictedEvictorThread()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBINsEvictedManual--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsEvictedManual</h4>
<pre>public&nbsp;long&nbsp;getNBINsEvictedManual()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBINsEvictedCritical--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsEvictedCritical</h4>
<pre>public&nbsp;long&nbsp;getNBINsEvictedCritical()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBINsEvictedCacheMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsEvictedCacheMode</h4>
<pre>public&nbsp;long&nbsp;getNBINsEvictedCacheMode()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBINsEvictedDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBINsEvictedDaemon</h4>
<pre>public&nbsp;long&nbsp;getNBINsEvictedDaemon()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNUpperINsEvictedEvictorThread--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsEvictedEvictorThread</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsEvictedEvictorThread()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNUpperINsEvictedManual--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsEvictedManual</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsEvictedManual()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNUpperINsEvictedCritical--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsEvictedCritical</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsEvictedCritical()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNUpperINsEvictedCacheMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsEvictedCacheMode</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsEvictedCacheMode()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNUpperINsEvictedDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNUpperINsEvictedDaemon</h4>
<pre>public&nbsp;long&nbsp;getNUpperINsEvictedDaemon()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBatchesEvictorThread--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBatchesEvictorThread</h4>
<pre>public&nbsp;long&nbsp;getNBatchesEvictorThread()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBatchesManual--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBatchesManual</h4>
<pre>public&nbsp;long&nbsp;getNBatchesManual()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBatchesCacheMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBatchesCacheMode</h4>
<pre>public&nbsp;long&nbsp;getNBatchesCacheMode()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBatchesCritical--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBatchesCritical</h4>
<pre>public&nbsp;long&nbsp;getNBatchesCritical()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBatchesDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBatchesDaemon</h4>
<pre>public&nbsp;long&nbsp;getNBatchesDaemon()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getNBytesEvictedEvictorThread--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesEvictedEvictorThread</h4>
<pre>public&nbsp;long&nbsp;getNBytesEvictedEvictorThread()</pre>
<div class="block"><p>"Number of bytes evicted by evictor pool threads."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBytesEvictedEVICTORTHREAD"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNBytesEvictedManual--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesEvictedManual</h4>
<pre>public&nbsp;long&nbsp;getNBytesEvictedManual()</pre>
<div class="block"><p>"Number of bytes evicted by the Environment.evictMemory or during Environment startup."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBytesEvictedMANUAL"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNBytesEvictedCacheMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesEvictedCacheMode</h4>
<pre>public&nbsp;long&nbsp;getNBytesEvictedCacheMode()</pre>
<div class="block"><p>"Number of bytes evicted by operations for which CacheMode.EVICT_BIN is specified."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBytesEvictedCACHEMODE"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNBytesEvictedCritical--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesEvictedCritical</h4>
<pre>public&nbsp;long&nbsp;getNBytesEvictedCritical()</pre>
<div class="block"><p>"Number of bytes evicted in the application thread because the cache is over budget."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBytesEvictedCRITICAL"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getNBytesEvictedDeamon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBytesEvictedDeamon</h4>
<pre>public&nbsp;long&nbsp;getNBytesEvictedDeamon()</pre>
<div class="block"><p>"Number of bytes evicted by JE deamon threads."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "nBytesEvictedDAEMON"</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getAvgBatchEvictorThread--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvgBatchEvictorThread</h4>
<pre>public&nbsp;long&nbsp;getAvgBatchEvictorThread()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getAvgBatchManual--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvgBatchManual</h4>
<pre>public&nbsp;long&nbsp;getAvgBatchManual()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getAvgBatchCacheMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvgBatchCacheMode</h4>
<pre>public&nbsp;long&nbsp;getAvgBatchCacheMode()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getAvgBatchCritical--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvgBatchCritical</h4>
<pre>public&nbsp;long&nbsp;getAvgBatchCritical()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getAvgBatchDaemon--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvgBatchDaemon</h4>
<pre>public&nbsp;long&nbsp;getAvgBatchDaemon()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This statistic has been removed. The method returns 0
always.</span></div>
</li>
</ul>
<a name="getSharedCacheTotalBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSharedCacheTotalBytes</h4>
<pre>public&nbsp;long&nbsp;getSharedCacheTotalBytes()</pre>
<div class="block"><p>"Total amount of the shared JE main cache in use, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "sharedCacheTotalBytes"</p>
<p>If this
environment uses the shared cache, this method returns the total size of
the shared cache, i.e., the sum of the <a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--"><code>getCacheTotalBytes()</code></a> for
all environments that are sharing the cache. If this environment does
<i>not</i> use the shared cache, this method returns zero.</p>
<p>To get the configured maximum cache size, see <a href="../../../com/sleepycat/je/EnvironmentMutableConfig.html#getCacheSize--"><code>EnvironmentMutableConfig.getCacheSize()</code></a>.</p></div>
</li>
</ul>
<a name="getCacheTotalBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheTotalBytes</h4>
<pre>public&nbsp;long&nbsp;getCacheTotalBytes()</pre>
<div class="block"><p>"Total amount of JE main cache in use, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "cacheTotalBytes"</p>
<p>This method returns the sum of <a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataBytes--"><code>getDataBytes()</code></a>, <a href="../../../com/sleepycat/je/EnvironmentStats.html#getAdminBytes--"><code>getAdminBytes()</code></a>, <a href="../../../com/sleepycat/je/EnvironmentStats.html#getLockBytes--"><code>getLockBytes()</code></a> and <a href="../../../com/sleepycat/je/EnvironmentStats.html#getBufferBytes--"><code>getBufferBytes()</code></a>.</p>
<p>If this environment uses the shared cache, this method returns only
the amount used by this environment.</p>
<p>To get the configured maximum cache size, see <a href="../../../com/sleepycat/je/EnvironmentMutableConfig.html#getCacheSize--"><code>EnvironmentMutableConfig.getCacheSize()</code></a>.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getDataBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataBytes</h4>
<pre>public&nbsp;long&nbsp;getDataBytes()</pre>
<div class="block"><p>"Amount of JE main cache used for holding data, keys and internal Btree nodes, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "dataBytes"</p>
<p>The value returned by this method includes the amount returned by
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataAdminBytes--"><code>getDataAdminBytes()</code></a>.</p>
<p>If this environment uses the shared cache, this method returns only
the amount used by this environment.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getDataAdminBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataAdminBytes</h4>
<pre>public&nbsp;long&nbsp;getDataAdminBytes()</pre>
<div class="block"><p>"Amount of JE main cache used for holding per-database cleaner utilization metadata, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "dataAdminBytes"</p>
<p>If this environment uses the shared cache, this method returns only
the amount used by this environment.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getDOSBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDOSBytes</h4>
<pre>public&nbsp;long&nbsp;getDOSBytes()</pre>
<div class="block"><p>"Amount of JE main cache consumed by disk-ordered cursor and Database.count operations, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "DOSBytes"</p>
<p>If this environment uses the shared cache, this method returns only
the amount used by this environment.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheUnexpectedSizes">Cache Statistics: Unexpected
Sizes</a></dd>
</dl>
</li>
</ul>
<a name="getAdminBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAdminBytes</h4>
<pre>public&nbsp;long&nbsp;getAdminBytes()</pre>
<div class="block"><p>"Number of bytes of JE main cache used for cleaner and checkpointer metadata, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "adminBytes"</p>
<p>If this environment uses the shared cache, this method returns only
the amount used by this environment.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getLockBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLockBytes</h4>
<pre>public&nbsp;long&nbsp;getLockBytes()</pre>
<div class="block"><p>"Number of bytes of JE cache used for holding locks and transactions, in bytes."</p>
<p style="margin-left: 2em">Group: "Cache"
<br/>Name: "lockBytes"</p>
<p>If this environment uses the shared cache, this method returns only
the amount used by this environment.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheUnexpectedSizes">Cache Statistics: Unexpected
Sizes</a></dd>
</dl>
</li>
</ul>
<a name="getCacheDataBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheDataBytes</h4>
<pre>public&nbsp;long&nbsp;getCacheDataBytes()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Please use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getDataBytes--"><code>getDataBytes()</code></a> to get the amount of cache
used for data and use <a href="../../../com/sleepycat/je/EnvironmentStats.html#getAdminBytes--"><code>getAdminBytes()</code></a>, <a href="../../../com/sleepycat/je/EnvironmentStats.html#getLockBytes--"><code>getLockBytes()</code></a> and
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getBufferBytes--"><code>getBufferBytes()</code></a> to get other components of the total cache usage
(<a href="../../../com/sleepycat/je/EnvironmentStats.html#getCacheTotalBytes--"><code>getCacheTotalBytes()</code></a>).</span></div>
</li>
</ul>
<a name="getOffHeapAllocFailures--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapAllocFailures</h4>
<pre>public&nbsp;long&nbsp;getOffHeapAllocFailures()</pre>
<div class="block"><p>"Number of off-heap allocation failures due to lack of system memory."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapAllocFailure"</p>
<p>Currently, with the default off-heap allocator, an allocation
failure occurs only when OutOfMemoryError is thrown by <code>Unsafe.allocateMemory</code>. This might be considered a fatal error, since it
means that no memory is available on the machine or VM. In practice,
we have not seen this occur because Linux will automatically kill
processes that are rapidly allocating memory when available memory is
very low.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapAllocOverflows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapAllocOverflows</h4>
<pre>public&nbsp;long&nbsp;getOffHeapAllocOverflows()</pre>
<div class="block"><p>"Number of off-heap allocation attempts that exceeded the cache size."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapAllocOverflow"</p>
<p>Currently, with the default off-heap allocator, this never happens
because the allocator will perform the allocation as long as any memory
is available. Even so, the off-heap evictor normally prevents
overflowing of the off-heap cache by freeing memory before it is
needed.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapThreadUnavailable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapThreadUnavailable</h4>
<pre>public&nbsp;long&nbsp;getOffHeapThreadUnavailable()</pre>
<div class="block"><p>"Number of eviction tasks that were submitted to the background off-heap evictor pool, but were refused because all eviction threads were busy."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapThreadUnavailable"</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapNodesTargeted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapNodesTargeted</h4>
<pre>public&nbsp;long&nbsp;getOffHeapNodesTargeted()</pre>
<div class="block"><p>"Number of BINs selected as off-heap eviction targets."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapNodesTargeted"</p>
<p>Nodes are selected as targets by the evictor based on LRU, always
selecting from the cold end of the LRU list. First, non-dirty nodes and
nodes referring to off-heap LNs are selected based on LRU. When there
are no more such nodes then dirty nodes with no off-heap LNs are
selected, based on LRU.</p>
<p>An eviction target may actually be evicted, or skipped, or put
back to the LRU, potentially after stripping child LNs or mutation to
a BIN-delta.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapCriticalNodesTargeted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapCriticalNodesTargeted</h4>
<pre>public&nbsp;long&nbsp;getOffHeapCriticalNodesTargeted()</pre>
<div class="block"><p>"Number of nodes targeted in \'critical eviction\' mode."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapCriticalNodesTargeted"</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheCriticalEviction">Cache Statistics: Critical
Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapNodesEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapNodesEvicted</h4>
<pre>public&nbsp;long&nbsp;getOffHeapNodesEvicted()</pre>
<div class="block"><p>"Number of target BINs (including BIN-deltas) evicted from the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapNodesEvicted"</p>
<p>An evicted BIN is completely removed from the off-heap cache and LRU
list. If it is dirty, it must be logged. A BIN is evicted only if it has
no off-heap child LNs and it cannot be mutated to a BIN-delta.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapDirtyNodesEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapDirtyNodesEvicted</h4>
<pre>public&nbsp;long&nbsp;getOffHeapDirtyNodesEvicted()</pre>
<div class="block"><p>"Number of target BINs evicted from the off-heap cache that were dirty and therefore were logged."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapDirtyNodesEvicted"</p>
<p>This stat value is a subset of <a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapNodesEvicted--"><code>getOffHeapNodesEvicted()</code></a>.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapNodesStripped--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapNodesStripped</h4>
<pre>public&nbsp;long&nbsp;getOffHeapNodesStripped()</pre>
<div class="block"><p>"Number of target BINs whose off-heap child LNs were evicted (stripped)."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapNodesStripped"</p>
<p>When a BIN is stripped, all off-heap LNs that the BIN refers to are
evicted. The <a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapLNsEvicted--"><code>getOffHeapLNsEvicted()</code></a> stat is incremented
accordingly.</p>
<p>A stripped BIN could be a BIN in main cache that is stripped of
off-heap LNs, or a BIN that is off-heap and also refers to off-heap
LNs. When a main cache BIN is stripped, it is removed from the
off-heap LRU. When an off-heap BIN is stripped, it is either modified
in place to remove the LN references (this is done when a small
number of LNs are referenced and the wasted space is small), or is
copied to a new, smaller off-heap block with no LN references.</p>
<p>After stripping an off-heap BIN, it is moved to the hot end of the
LRU list. Off-heap BINs are only mutated to BIN-deltas or evicted
completely when they do not refer to any off-heap LNs. This gives
BINs precedence over LNs in the cache.
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapNodesMutated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapNodesMutated</h4>
<pre>public&nbsp;long&nbsp;getOffHeapNodesMutated()</pre>
<div class="block"><p>"Number of off-heap target BINs mutated to BIN-deltas."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapNodesMutated"</p>
<p>Mutation to a BIN-delta is performed for full BINs that do not
refer to any off-heap LNs and can be represented as BIN-deltas in
cache and on disk (see <a href="../../../com/sleepycat/je/EnvironmentConfig.html#TREE_BIN_DELTA"><code>EnvironmentConfig.TREE_BIN_DELTA</code></a>).
When a BIN is mutated, it is is copied to a new, smaller off-heap
block. After mutating an off-heap BIN, it is moved to the hot end of
the LRU list.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapNodesSkipped--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapNodesSkipped</h4>
<pre>public&nbsp;long&nbsp;getOffHeapNodesSkipped()</pre>
<div class="block"><p>"Number of off-heap target BINs on which no action was taken."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapNodesSkipped"</p>
<p>For example, a node will be skipped if it has been moved to the
hot end of the LRU list by another thread, or more rarely, already
processed by another evictor thread. This can occur because there is
a short period of time where a targeted node has been removed from
the LRU by the evictor thread, but not yet latched.</p>
<p>The number of skipped nodes is normally very small, compared to the
number of targeted nodes.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapLNsEvicted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapLNsEvicted</h4>
<pre>public&nbsp;long&nbsp;getOffHeapLNsEvicted()</pre>
<div class="block"><p>"Number of LNs evicted from the off-heap cache as a result of BIN stripping."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapLNsEvicted"</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheEviction">Cache Statistics: Eviction</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapLNsLoaded--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapLNsLoaded</h4>
<pre>public&nbsp;long&nbsp;getOffHeapLNsLoaded()</pre>
<div class="block"><p>"Number of LNs loaded from the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapLNsLoaded"</p>
<p>LNs are loaded when requested by CRUD operations or other internal
btree operations.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapLNsStored--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapLNsStored</h4>
<pre>public&nbsp;long&nbsp;getOffHeapLNsStored()</pre>
<div class="block"><p>"Number of LNs stored into the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapLNsStored"</p>
<p>LNs are stored off-heap when they are evicted from the main cache.
Note that when <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_LN"><code>CacheMode.EVICT_LN</code></a> is used, the LN resides in
the main cache for a very short period since it is evicted after the
CRUD operation is complete.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapBINsLoaded--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapBINsLoaded</h4>
<pre>public&nbsp;long&nbsp;getOffHeapBINsLoaded()</pre>
<div class="block"><p>"Number of BINs loaded from the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapBINsLoaded"</p>
<p>BINs are loaded when needed by CRUD operations or other internal
btree operations.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapBINsStored--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapBINsStored</h4>
<pre>public&nbsp;long&nbsp;getOffHeapBINsStored()</pre>
<div class="block"><p>"Number of BINs stored into the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapBINsStored"</p>
<p>BINs are stored off-heap when they are evicted from the main cache.
Note that when <a href="../../../com/sleepycat/je/CacheMode.html#EVICT_BIN"><code>CacheMode.EVICT_BIN</code></a> is used, the BIN resides
in the main cache for a very short period since it is evicted after
the CRUD operation is complete.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapCachedLNs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapCachedLNs</h4>
<pre>public&nbsp;int&nbsp;getOffHeapCachedLNs()</pre>
<div class="block"><p>"Number of LNs residing in the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapCachedLNs"</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapCachedBINs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapCachedBINs</h4>
<pre>public&nbsp;int&nbsp;getOffHeapCachedBINs()</pre>
<div class="block"><p>"Number of BINs (full BINs and BIN-deltas) residing in the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapCachedBINs"</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapCachedBINDeltas--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapCachedBINDeltas</h4>
<pre>public&nbsp;int&nbsp;getOffHeapCachedBINDeltas()</pre>
<div class="block"><p>"Number of BIN-deltas residing in the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapCachedBINDeltas"</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapTotalBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapTotalBytes</h4>
<pre>public&nbsp;long&nbsp;getOffHeapTotalBytes()</pre>
<div class="block"><p>"Total number of estimated bytes in off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapTotalBytes"</p>
<p>This includes the estimated overhead for off-heap memory blocks, as
well as their contents.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p>
<p>To get the configured maximum off-heap cache size, see <a href="../../../com/sleepycat/je/EnvironmentMutableConfig.html#getOffHeapCacheSize--"><code>EnvironmentMutableConfig.getOffHeapCacheSize()</code></a>.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheSizing">Cache Statistics: Sizing</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapTotalBlocks--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapTotalBlocks</h4>
<pre>public&nbsp;long&nbsp;getOffHeapTotalBlocks()</pre>
<div class="block"><p>"Total number of memory blocks in off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapTotalBlocks"</p>
<p>There is one block for each off-heap BIN and one for each off-heap
LN. So the total number of blocks is the sum of
<a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedLNs--"><code>getOffHeapCachedLNs()</code></a> and <a href="../../../com/sleepycat/je/EnvironmentStats.html#getOffHeapCachedBINs--"><code>getOffHeapCachedBINs()</code></a>.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getOffHeapLRUSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapLRUSize</h4>
<pre>public&nbsp;long&nbsp;getOffHeapLRUSize()</pre>
<div class="block"><p>"Number of LRU entries used for the off-heap cache."</p>
<p style="margin-left: 2em">Group: "OffHeap"
<br/>Name: "offHeapLruSize"</p>
<p>The off-heap LRU list is stored in the Java heap. Each entry occupies
20 bytes of memory when compressed oops are used, or 24 bytes otherwise.
This memory is not considered part of the JE main cache, and is not
included in main cache statistics.</p>
<p>There is one LRU entry for each off-heap BIN, and one for each BIN in
main cache that refers to one or more off-heap LNs. The latter approach
avoids an LRU entry per off-heap LN, which would use excessive amounts
of space in the Java heap. Similarly, when an off-heap BIN refers to
off-heap LNs, only one LRU entry (for the BIN) is used.</p>
<p>If this environment uses the shared cache, the return value is the
total for all environments that are sharing the cache.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#cacheDebugging">Cache Statistics: Debugging</a></dd>
</dl>
</li>
</ul>
<a name="getRelatchesRequired--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRelatchesRequired</h4>
<pre>public&nbsp;long&nbsp;getRelatchesRequired()</pre>
<div class="block">Returns the number of latch upgrades (relatches) required while
operating on this Environment. Latch upgrades are required when an
operation assumes that a shared (read) latch will be sufficient but
later determines that an exclusive (write) latch will actually be
required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of latch upgrades (relatches) required.</dd>
</dl>
</li>
</ul>
<a name="getNOwners--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNOwners</h4>
<pre>public&nbsp;int&nbsp;getNOwners()</pre>
<div class="block">Total lock owners in lock table. Only provided when <a href="../../../com/sleepycat/je/Environment.html#getStats-com.sleepycat.je.StatsConfig-"><code>Environment.getStats</code></a> is
called in "slow" mode.</div>
</li>
</ul>
<a name="getNReadLocks--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNReadLocks</h4>
<pre>public&nbsp;int&nbsp;getNReadLocks()</pre>
<div class="block">Total read locks currently held. Only provided when <a href="../../../com/sleepycat/je/Environment.html#getStats-com.sleepycat.je.StatsConfig-"><code>Environment.getStats</code></a> is
called in "slow" mode.</div>
</li>
</ul>
<a name="getNTotalLocks--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNTotalLocks</h4>
<pre>public&nbsp;int&nbsp;getNTotalLocks()</pre>
<div class="block">Total locks currently in lock table. Only provided when <a href="../../../com/sleepycat/je/Environment.html#getStats-com.sleepycat.je.StatsConfig-"><code>Environment.getStats</code></a> is
called in "slow" mode.</div>
</li>
</ul>
<a name="getNWaiters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNWaiters</h4>
<pre>public&nbsp;int&nbsp;getNWaiters()</pre>
<div class="block">Total transactions waiting for locks. Only provided when <a href="../../../com/sleepycat/je/Environment.html#getStats-com.sleepycat.je.StatsConfig-"><code>Environment.getStats</code></a> is
called in "slow" mode.</div>
</li>
</ul>
<a name="getNWriteLocks--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNWriteLocks</h4>
<pre>public&nbsp;int&nbsp;getNWriteLocks()</pre>
<div class="block">Total write locks currently held. Only provided when <a href="../../../com/sleepycat/je/Environment.html#getStats-com.sleepycat.je.StatsConfig-"><code>Environment.getStats</code></a> is
called in "slow" mode.</div>
</li>
</ul>
<a name="getNRequests--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNRequests</h4>
<pre>public&nbsp;long&nbsp;getNRequests()</pre>
<div class="block">Total number of lock requests to date.</div>
</li>
</ul>
<a name="getNWaits--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNWaits</h4>
<pre>public&nbsp;long&nbsp;getNWaits()</pre>
<div class="block">Total number of lock waits to date.</div>
</li>
</ul>
<a name="getNAcquiresNoWaiters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNAcquiresNoWaiters</h4>
<pre>public&nbsp;int&nbsp;getNAcquiresNoWaiters()</pre>
<div class="block">Number of acquires of lock table latch with no contention.</div>
</li>
</ul>
<a name="getNAcquiresSelfOwned--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNAcquiresSelfOwned</h4>
<pre>public&nbsp;int&nbsp;getNAcquiresSelfOwned()</pre>
<div class="block">Number of acquires of lock table latch when it was already owned
by the caller.</div>
</li>
</ul>
<a name="getNAcquiresWithContention--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNAcquiresWithContention</h4>
<pre>public&nbsp;int&nbsp;getNAcquiresWithContention()</pre>
<div class="block">Number of acquires of lock table latch when it was already owned by
another thread.</div>
</li>
</ul>
<a name="getNAcquiresNoWaitSuccessful--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNAcquiresNoWaitSuccessful</h4>
<pre>public&nbsp;int&nbsp;getNAcquiresNoWaitSuccessful()</pre>
<div class="block">Number of successful no-wait acquires of the lock table latch.</div>
</li>
</ul>
<a name="getNAcquiresNoWaitUnSuccessful--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNAcquiresNoWaitUnSuccessful</h4>
<pre>public&nbsp;int&nbsp;getNAcquiresNoWaitUnSuccessful()</pre>
<div class="block">Number of unsuccessful no-wait acquires of the lock table latch.</div>
</li>
</ul>
<a name="getNReleases--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNReleases</h4>
<pre>public&nbsp;int&nbsp;getNReleases()</pre>
<div class="block">Number of releases of the lock table latch.</div>
</li>
</ul>
<a name="getNBinDeltaGetOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBinDeltaGetOps</h4>
<pre>public&nbsp;long&nbsp;getNBinDeltaGetOps()</pre>
<div class="block">The number of user (non-internal) Cursor and Database get operations
performed in BIN deltas.</div>
</li>
</ul>
<a name="getNBinDeltaInsertOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBinDeltaInsertOps</h4>
<pre>public&nbsp;long&nbsp;getNBinDeltaInsertOps()</pre>
<div class="block">The number of user (non-internal) Cursor and Database insert operations
performed in BIN deltas (these are insertions performed via the various
put methods).</div>
</li>
</ul>
<a name="getNBinDeltaUpdateOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBinDeltaUpdateOps</h4>
<pre>public&nbsp;long&nbsp;getNBinDeltaUpdateOps()</pre>
<div class="block">The number of user (non-internal) Cursor and Database update operations
performed in BIN deltas (these are updates performed via the various
put methods).</div>
</li>
</ul>
<a name="getNBinDeltaDeleteOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNBinDeltaDeleteOps</h4>
<pre>public&nbsp;long&nbsp;getNBinDeltaDeleteOps()</pre>
<div class="block">The number of user (non-internal) Cursor and Database delete operations
performed in BIN deltas.</div>
</li>
</ul>
<a name="getPriSearchOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriSearchOps</h4>
<pre>public&nbsp;long&nbsp;getPriSearchOps()</pre>
<div class="block">Number of successful primary DB key search operations.
<p>
This operation corresponds to one of the following API calls:
<ul>
<li>
A successful <a href="../../../com/sleepycat/je/Cursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>Cursor.get</code></a> or <a href="../../../com/sleepycat/je/Database.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>Database.get</code></a> call with <a href="../../../com/sleepycat/je/Get.html#SEARCH"><code>Get.SEARCH</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_GTE"><code>Get.SEARCH_GTE</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH"><code>Get.SEARCH_BOTH</code></a>, or <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH_GTE"><code>Get.SEARCH_BOTH_GTE</code></a>.
</li>
<li>
A successful <a href="../../../com/sleepycat/je/SecondaryCursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryCursor.get</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryDatabase.get</code></a> call
when the primary data is requested (via the <code>data</code> param).
This call internally performs a key search operation in the
primary DB in order to return the data.
</li>
</ul></div>
</li>
</ul>
<a name="getPriSearchFailOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriSearchFailOps</h4>
<pre>public&nbsp;long&nbsp;getPriSearchFailOps()</pre>
<div class="block">Number of failed primary DB key search operations.
<p>
This operation corresponds to a call to <a href="../../../com/sleepycat/je/Cursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>Cursor.get</code></a> or <a href="../../../com/sleepycat/je/Database.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>Database.get</code></a> with <a href="../../../com/sleepycat/je/Get.html#SEARCH"><code>Get.SEARCH</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_GTE"><code>Get.SEARCH_GTE</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH"><code>Get.SEARCH_BOTH</code></a>, or <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH_GTE"><code>Get.SEARCH_BOTH_GTE</code></a>, when the specified key is not found in the DB.</div>
</li>
</ul>
<a name="getSecSearchOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecSearchOps</h4>
<pre>public&nbsp;long&nbsp;getSecSearchOps()</pre>
<div class="block">Number of successful secondary DB key search operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/SecondaryCursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryCursor.get</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryDatabase.get</code></a> with
<a href="../../../com/sleepycat/je/Get.html#SEARCH"><code>Get.SEARCH</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_GTE"><code>Get.SEARCH_GTE</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH"><code>Get.SEARCH_BOTH</code></a>, or
<a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH_GTE"><code>Get.SEARCH_BOTH_GTE</code></a>.
<p>
Note: Operations are currently counted as secondary DB (rather than
primary DB) operations only if the DB has been opened by the application
as a secondary DB. In particular the stats may be confusing on an HA
replica node if a secondary DB has not been opened by the application on
the replica.</div>
</li>
</ul>
<a name="getSecSearchFailOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecSearchFailOps</h4>
<pre>public&nbsp;long&nbsp;getSecSearchFailOps()</pre>
<div class="block">Number of failed secondary DB key search operations.
<p>
This operation corresponds to a call to <a href="../../../com/sleepycat/je/SecondaryCursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryCursor.get</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryDatabase.get</code></a> with <a href="../../../com/sleepycat/je/Get.html#SEARCH"><code>Get.SEARCH</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_GTE"><code>Get.SEARCH_GTE</code></a>, <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH"><code>Get.SEARCH_BOTH</code></a>, or <a href="../../../com/sleepycat/je/Get.html#SEARCH_BOTH_GTE"><code>Get.SEARCH_BOTH_GTE</code></a>, when the specified key is not found in the DB.
<p>
Note: Operations are currently counted as secondary DB (rather than
primary DB) operations only if the DB has been opened by the application
as a secondary DB. In particular the stats may be confusing on an HA
replica node if a secondary DB has not been opened by the application on
the replica.</div>
</li>
</ul>
<a name="getPriPositionOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriPositionOps</h4>
<pre>public&nbsp;long&nbsp;getPriPositionOps()</pre>
<div class="block">Number of successful primary DB position operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/Cursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>Cursor.get</code></a>
or <a href="../../../com/sleepycat/je/Database.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>Database.get</code></a> with <a href="../../../com/sleepycat/je/Get.html#FIRST"><code>Get.FIRST</code></a>, <a href="../../../com/sleepycat/je/Get.html#LAST"><code>Get.LAST</code></a>,
<a href="../../../com/sleepycat/je/Get.html#NEXT"><code>Get.NEXT</code></a>, <a href="../../../com/sleepycat/je/Get.html#NEXT_DUP"><code>Get.NEXT_DUP</code></a>, <a href="../../../com/sleepycat/je/Get.html#NEXT_NO_DUP"><code>Get.NEXT_NO_DUP</code></a>,
<a href="../../../com/sleepycat/je/Get.html#PREV"><code>Get.PREV</code></a>, <a href="../../../com/sleepycat/je/Get.html#PREV_DUP"><code>Get.PREV_DUP</code></a> or <a href="../../../com/sleepycat/je/Get.html#PREV_NO_DUP"><code>Get.PREV_NO_DUP</code></a>.</div>
</li>
</ul>
<a name="getSecPositionOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecPositionOps</h4>
<pre>public&nbsp;long&nbsp;getSecPositionOps()</pre>
<div class="block">Number of successful secondary DB position operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/SecondaryCursor.html#get-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryCursor.get</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#get-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Get-com.sleepycat.je.ReadOptions-"><code>SecondaryDatabase.get</code></a> with
<a href="../../../com/sleepycat/je/Get.html#FIRST"><code>Get.FIRST</code></a>, <a href="../../../com/sleepycat/je/Get.html#LAST"><code>Get.LAST</code></a>,
<a href="../../../com/sleepycat/je/Get.html#NEXT"><code>Get.NEXT</code></a>, <a href="../../../com/sleepycat/je/Get.html#NEXT_DUP"><code>Get.NEXT_DUP</code></a>, <a href="../../../com/sleepycat/je/Get.html#NEXT_NO_DUP"><code>Get.NEXT_NO_DUP</code></a>,
<a href="../../../com/sleepycat/je/Get.html#PREV"><code>Get.PREV</code></a>, <a href="../../../com/sleepycat/je/Get.html#PREV_DUP"><code>Get.PREV_DUP</code></a> or <a href="../../../com/sleepycat/je/Get.html#PREV_NO_DUP"><code>Get.PREV_NO_DUP</code></a>.
<p>
Note: Operations are currently counted as secondary DB (rather than
primary DB) operations only if the DB has been opened by the application
as a secondary DB. In particular the stats may be confusing on an HA
replica node if a secondary DB has not been opened by the application on
the replica.</div>
</li>
</ul>
<a name="getPriInsertOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriInsertOps</h4>
<pre>public&nbsp;long&nbsp;getPriInsertOps()</pre>
<div class="block">Number of successful primary DB insertion operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/Cursor.html#put-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Cursor.put</code></a>
or <a href="../../../com/sleepycat/je/Database.html#put-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Database.put</code></a> in one of the following cases:
<ul>
<li>
When <a href="../../../com/sleepycat/je/Put.html#NO_OVERWRITE"><code>Put.NO_OVERWRITE</code></a> or <a href="../../../com/sleepycat/je/Put.html#NO_DUP_DATA"><code>Put.NO_DUP_DATA</code></a> is
specified.
</li>
<li>
When <a href="../../../com/sleepycat/je/Put.html#OVERWRITE"><code>Put.OVERWRITE</code></a> is specified and the key was inserted
because it previously did not exist in the DB.
</li>
</ul></div>
</li>
</ul>
<a name="getPriInsertFailOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriInsertFailOps</h4>
<pre>public&nbsp;long&nbsp;getPriInsertFailOps()</pre>
<div class="block">Number of failed primary DB insertion operations.
<p>
This operation corresponds to a call to <a href="../../../com/sleepycat/je/Cursor.html#put-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Cursor.put</code></a> or <a href="../../../com/sleepycat/je/Database.html#put-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Database.put</code></a> with <a href="../../../com/sleepycat/je/Put.html#NO_OVERWRITE"><code>Put.NO_OVERWRITE</code></a> or <a href="../../../com/sleepycat/je/Put.html#NO_DUP_DATA"><code>Put.NO_DUP_DATA</code></a>, when the key could not be inserted because it
previously existed in the DB.</div>
</li>
</ul>
<a name="getSecInsertOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecInsertOps</h4>
<pre>public&nbsp;long&nbsp;getSecInsertOps()</pre>
<div class="block">Number of successful secondary DB insertion operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/Cursor.html#put-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Cursor.put</code></a>
or <a href="../../../com/sleepycat/je/Database.html#put-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Database.put</code></a>, for a primary DB with an associated
secondary DB. A secondary record is inserted when inserting a primary
record with a non-null secondary key, or when updating a primary record
and the secondary key is changed to to a non-null value that is
different than the previously existing value.
<p>
Note: Operations are currently counted as secondary DB (rather than
primary DB) operations only if the DB has been opened by the application
as a secondary DB. In particular the stats may be confusing on an HA
replica node if a secondary DB has not been opened by the application on
the replica.</div>
</li>
</ul>
<a name="getPriUpdateOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriUpdateOps</h4>
<pre>public&nbsp;long&nbsp;getPriUpdateOps()</pre>
<div class="block">Number of successful primary DB update operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/Cursor.html#put-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Cursor.put</code></a>
or <a href="../../../com/sleepycat/je/Database.html#put-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Database.put</code></a> in one of the following cases:
<ul>
<li>
When <a href="../../../com/sleepycat/je/Put.html#OVERWRITE"><code>Put.OVERWRITE</code></a> is specified and the key previously
existed in the DB.
</li>
<li>
When calling <code>Cursor.put</code> with <a href="../../../com/sleepycat/je/Put.html#CURRENT"><code>Put.CURRENT</code></a>.
</li>
</ul></div>
</li>
</ul>
<a name="getSecUpdateOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecUpdateOps</h4>
<pre>public&nbsp;long&nbsp;getSecUpdateOps()</pre>
<div class="block">Number of successful secondary DB update operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/Cursor.html#put-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Cursor.put</code></a>
or <a href="../../../com/sleepycat/je/Database.html#put-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Database.put</code></a>, when a primary record is updated and its
TTL is changed. The associated secondary records must also be updated to
reflect the change in the TTL.
<p>
Note: Operations are currently counted as secondary DB (rather than
primary DB) operations only if the DB has been opened by the application
as a secondary DB. In particular the stats may be confusing on an HA
replica node if a secondary DB has not been opened by the application on
the replica.</div>
</li>
</ul>
<a name="getPriDeleteOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriDeleteOps</h4>
<pre>public&nbsp;long&nbsp;getPriDeleteOps()</pre>
<div class="block">Number of successful primary DB deletion operations.
<p>
This operation corresponds to a successful call to <a href="../../../com/sleepycat/je/Cursor.html#delete--"><code>Cursor.delete</code></a>, <a href="../../../com/sleepycat/je/Database.html#delete-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.WriteOptions-"><code>Database.delete</code></a>, <a href="../../../com/sleepycat/je/SecondaryCursor.html#delete--"><code>SecondaryCursor.delete</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#delete-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.WriteOptions-"><code>SecondaryDatabase.delete</code></a>.</div>
</li>
</ul>
<a name="getPriDeleteFailOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriDeleteFailOps</h4>
<pre>public&nbsp;long&nbsp;getPriDeleteFailOps()</pre>
<div class="block">Number of failed primary DB deletion operations.
<p>
This operation corresponds to a call to <a href="../../../com/sleepycat/je/Database.html#delete-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.WriteOptions-"><code>Database.delete</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#delete-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.WriteOptions-"><code>SecondaryDatabase.delete</code></a>, when the key could not be deleted because it
did not previously exist in the DB.</div>
</li>
</ul>
<a name="getSecDeleteOps--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecDeleteOps</h4>
<pre>public&nbsp;long&nbsp;getSecDeleteOps()</pre>
<div class="block">Number of successful secondary DB deletion operations.
<p>
This operation corresponds to one of the following API calls:
<ul>
<li>
A successful call to <a href="../../../com/sleepycat/je/Cursor.html#delete--"><code>Cursor.delete</code></a> or
<a href="../../../com/sleepycat/je/Database.html#delete-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.WriteOptions-"><code>Database.delete</code></a>, that deletes a primary record
containing a non-null secondary key.
</li>
<li>
A successful call to <a href="../../../com/sleepycat/je/SecondaryCursor.html#delete--"><code>SecondaryCursor.delete</code></a> or <a href="../../../com/sleepycat/je/SecondaryDatabase.html#delete-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.WriteOptions-"><code>SecondaryDatabase.delete</code></a>.
</li>
<li>
A successful call to <a href="../../../com/sleepycat/je/Cursor.html#put-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Cursor.put</code></a> or <a href="../../../com/sleepycat/je/Database.html#put-com.sleepycat.je.Transaction-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.DatabaseEntry-com.sleepycat.je.Put-com.sleepycat.je.WriteOptions-"><code>Database.put</code></a> that updates a primary record and
changes its previously non-null secondary key to null.
</li>
</ul>
<p>
Note: Operations are currently counted as secondary DB (rather than
primary DB) operations only if the DB has been opened by the application
as a secondary DB. In particular the stats may be confusing on an HA
replica node if a secondary DB has not been opened by the application on
the replica.</div>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Returns a String representation of the stats in the form of
&lt;stat&gt;=&lt;value&gt;</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="toStringVerbose--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toStringVerbose</h4>
<pre>public&nbsp;java.lang.String&nbsp;toStringVerbose()</pre>
<div class="block">Returns a String representation of the stats which includes stats
descriptions in addition to &lt;stat&gt;=&lt;value&gt;</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EnvironmentStats.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Berkeley DB Java Edition</b><br><font size=\"-1\"> version 7.5.11</font>
</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/sleepycat/je/EnvironmentNotFoundException.html" title="class in com.sleepycat.je"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../com/sleepycat/je/EnvironmentWedgedException.html" title="class in com.sleepycat.je"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/sleepycat/je/EnvironmentStats.html" target="_top">Frames</a></li>
<li><a href="EnvironmentStats.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 ======= -->
<p class="legalCopy"><small><font size=1>Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.</font> </small></p>
</body>
</html>