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

<!-- Generated by javadoc (1.8.0_77) on Tue Jul 10 11:04:38 UTC 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DataRegionMetrics (Ignite 2.6.0)</title>
<meta name="date" content="2018-07-10">
<link rel="stylesheet" type="text/css" href="../../../javadoc.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>

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

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

</script></head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DataRegionMetrics (Ignite 2.6.0)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DataRegionMetrics.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Ignite - In-Memory Data Fabric</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../org/apache/ignite/DataRegionMetricsAdapter.html" title="class in org.apache.ignite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/DataRegionMetrics.html" target="_top">Frames</a></li>
<li><a href="DataRegionMetrics.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite</div>
<h2 title="Interface DataRegionMetrics" class="title">Interface DataRegionMetrics</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../org/apache/ignite/mxbean/DataRegionMetricsMXBean.html" title="interface in org.apache.ignite.mxbean">DataRegionMetricsMXBean</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">DataRegionMetrics</span></pre>
<div class="block">This interface provides page memory related metrics of a specific Apache Ignite node. The overall page memory
 architecture is covered in <a href="../../../org/apache/ignite/configuration/DataStorageConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataStorageConfiguration</code></a>.
 <p>
 Since there are can be several memory regions configured with <a href="../../../org/apache/ignite/configuration/DataRegionConfiguration.html" title="class in org.apache.ignite.configuration"><code>DataRegionConfiguration</code></a> on an individual
 Apache Ignite node, the metrics for every region will be collected and obtained separately.
 <p>
 There are two ways to get the metrics of an Apache Ignite node.
 <ol>
     <li>
       First, a collection of the metrics can be obtained through <a href="../../../org/apache/ignite/Ignite.html#dataRegionMetrics--"><code>Ignite.dataRegionMetrics()</code></a> method. Note that
       the method returns data region metrics snapshots rather than just in time memory state.
     </li>
     <li>
       Second, all <a href="../../../org/apache/ignite/DataRegionMetrics.html" title="interface in org.apache.ignite"><code>DataRegionMetrics</code></a> of a local Apache Ignite node are visible through JMX interface. Refer to
       <a href="../../../org/apache/ignite/mxbean/DataRegionMetricsMXBean.html" title="interface in org.apache.ignite.mxbean"><code>DataRegionMetricsMXBean</code></a> for more details.
     </li>
 </ol>
 </p>
 <p>
 Data region metrics collection is not a free operation and might affect performance of an application. This is the reason
 why the metrics are turned off by default. To enable the collection you can use both
 <a href="../../../org/apache/ignite/configuration/DataRegionConfiguration.html#setMetricsEnabled-boolean-"><code>DataRegionConfiguration.setMetricsEnabled(boolean)</code></a> configuration property or
 <a href="../../../org/apache/ignite/mxbean/DataRegionMetricsMXBean.html#enableMetrics--"><code>DataRegionMetricsMXBean.enableMetrics()</code></a> method of a respective JMX bean.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getAllocationRate--">getAllocationRate</a></span>()</code>
<div class="block">Gets pages allocation rate of a memory region.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getCheckpointBufferPages--">getCheckpointBufferPages</a></span>()</code>
<div class="block">Gets checkpoint buffer size in pages.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getCheckpointBufferSize--">getCheckpointBufferSize</a></span>()</code>
<div class="block">Gets checkpoint buffer size in bytes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getDirtyPages--">getDirtyPages</a></span>()</code>
<div class="block">Gets the number of dirty pages (pages which contents is different from the current persistent storage state).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getEvictionRate--">getEvictionRate</a></span>()</code>
<div class="block">Gets eviction rate of a given memory region.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getLargeEntriesPagesPercentage--">getLargeEntriesPagesPercentage</a></span>()</code>
<div class="block">Gets percentage of pages that are fully occupied by large entries that go beyond page size.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getName--">getName</a></span>()</code>
<div class="block">A name of a memory region the metrics are collected for.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getOffHeapSize--">getOffHeapSize</a></span>()</code>
<div class="block">Total offheap size in bytes.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getOffheapUsedSize--">getOffheapUsedSize</a></span>()</code>
<div class="block">Total used offheap size in bytes.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPagesFillFactor--">getPagesFillFactor</a></span>()</code>
<div class="block">Gets the percentage of the used space.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPageSize--">getPageSize</a></span>()</code>
<div class="block">Gets memory page size.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPagesRead--">getPagesRead</a></span>()</code>
<div class="block">The number of read pages from last restart.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPagesReplaceAge--">getPagesReplaceAge</a></span>()</code>
<div class="block">Gets average age (in milliseconds) for the pages being replaced from the disk storage.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPagesReplaced--">getPagesReplaced</a></span>()</code>
<div class="block">The number of replaced pages from last restart .</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPagesReplaceRate--">getPagesReplaceRate</a></span>()</code>
<div class="block">Gets rate (pages per second) at which pages get replaced with other pages from persistent storage.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPagesWritten--">getPagesWritten</a></span>()</code>
<div class="block">The number of written pages from last restart.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPhysicalMemoryPages--">getPhysicalMemoryPages</a></span>()</code>
<div class="block">Gets total number of pages currently loaded to the RAM.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getPhysicalMemorySize--">getPhysicalMemorySize</a></span>()</code>
<div class="block">Gets total size of pages loaded to the RAM.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getTotalAllocatedPages--">getTotalAllocatedPages</a></span>()</code>
<div class="block">Gets a total number of allocated pages related to the data region.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/ignite/DataRegionMetrics.html#getTotalAllocatedSize--">getTotalAllocatedSize</a></span>()</code>
<div class="block">Gets a total size of memory allocated in the data region.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block">A name of a memory region the metrics are collected for.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Name of the memory region.</dd>
</dl>
</li>
</ul>
<a name="getTotalAllocatedPages--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalAllocatedPages</h4>
<pre>long&nbsp;getTotalAllocatedPages()</pre>
<div class="block">Gets a total number of allocated pages related to the data region. When persistence is disabled, this
 metric shows the total number of pages in memory. When persistence is enabled, this metric shows the
 total number of pages in memory and on disk.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total number of allocated pages.</dd>
</dl>
</li>
</ul>
<a name="getTotalAllocatedSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalAllocatedSize</h4>
<pre>long&nbsp;getTotalAllocatedSize()</pre>
<div class="block">Gets a total size of memory allocated in the data region. When persistence is disabled, this
 metric shows the total size of pages in memory. When persistence is enabled, this metric shows the
 total size of pages in memory and on disk.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total size of memory allocated, in bytes.</dd>
</dl>
</li>
</ul>
<a name="getAllocationRate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllocationRate</h4>
<pre>float&nbsp;getAllocationRate()</pre>
<div class="block">Gets pages allocation rate of a memory region.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of allocated pages per second.</dd>
</dl>
</li>
</ul>
<a name="getEvictionRate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEvictionRate</h4>
<pre>float&nbsp;getEvictionRate()</pre>
<div class="block">Gets eviction rate of a given memory region.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of evicted pages per second.</dd>
</dl>
</li>
</ul>
<a name="getLargeEntriesPagesPercentage--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLargeEntriesPagesPercentage</h4>
<pre>float&nbsp;getLargeEntriesPagesPercentage()</pre>
<div class="block">Gets percentage of pages that are fully occupied by large entries that go beyond page size. The large entities
 are split into fragments in a way so that each fragment can fit into a single page.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Percentage of pages fully occupied by large entities.</dd>
</dl>
</li>
</ul>
<a name="getPagesFillFactor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPagesFillFactor</h4>
<pre>float&nbsp;getPagesFillFactor()</pre>
<div class="block">Gets the percentage of the used space.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The percentage of the used space.</dd>
</dl>
</li>
</ul>
<a name="getDirtyPages--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDirtyPages</h4>
<pre>long&nbsp;getDirtyPages()</pre>
<div class="block">Gets the number of dirty pages (pages which contents is different from the current persistent storage state).
 This metric is enabled only for Ignite nodes with enabled persistence.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current number of dirty pages.</dd>
</dl>
</li>
</ul>
<a name="getPagesReplaceRate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPagesReplaceRate</h4>
<pre>float&nbsp;getPagesReplaceRate()</pre>
<div class="block">Gets rate (pages per second) at which pages get replaced with other pages from persistent storage.
 The rate effectively represents the rate at which pages get 'evicted' in favor of newly needed pages.
 This metric is enabled only for Ignite nodes with enabled persistence.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Pages per second replace rate.</dd>
</dl>
</li>
</ul>
<a name="getPagesReplaceAge--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPagesReplaceAge</h4>
<pre>float&nbsp;getPagesReplaceAge()</pre>
<div class="block">Gets average age (in milliseconds) for the pages being replaced from the disk storage.
 This number effectively represents the average time between the moment when a page is read
 from the disk and the time when the page is evicted. Note that if a page is never evicted, it does
 not contribute to this metric.
 This metric is enabled only for Ignite nodes with enabled persistence.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Replaced pages age in milliseconds.</dd>
</dl>
</li>
</ul>
<a name="getPhysicalMemoryPages--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPhysicalMemoryPages</h4>
<pre>long&nbsp;getPhysicalMemoryPages()</pre>
<div class="block">Gets total number of pages currently loaded to the RAM. When persistence is disabled, this metric is equal
 to <a href="../../../org/apache/ignite/DataRegionMetrics.html#getTotalAllocatedPages--"><code>getTotalAllocatedPages()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total number of pages loaded to RAM.</dd>
</dl>
</li>
</ul>
<a name="getPhysicalMemorySize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPhysicalMemorySize</h4>
<pre>long&nbsp;getPhysicalMemorySize()</pre>
<div class="block">Gets total size of pages loaded to the RAM. When persistence is disabled, this metric is equal
 to <a href="../../../org/apache/ignite/DataRegionMetrics.html#getTotalAllocatedSize--"><code>getTotalAllocatedSize()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total size of pages loaded to RAM in bytes.</dd>
</dl>
</li>
</ul>
<a name="getCheckpointBufferPages--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCheckpointBufferPages</h4>
<pre>long&nbsp;getCheckpointBufferPages()</pre>
<div class="block">Gets checkpoint buffer size in pages.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Checkpoint buffer size in pages.</dd>
</dl>
</li>
</ul>
<a name="getCheckpointBufferSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCheckpointBufferSize</h4>
<pre>long&nbsp;getCheckpointBufferSize()</pre>
<div class="block">Gets checkpoint buffer size in bytes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Checkpoint buffer size in bytes.</dd>
</dl>
</li>
</ul>
<a name="getPageSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPageSize</h4>
<pre>int&nbsp;getPageSize()</pre>
<div class="block">Gets memory page size.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Page size in bytes.</dd>
</dl>
</li>
</ul>
<a name="getPagesRead--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPagesRead</h4>
<pre>long&nbsp;getPagesRead()</pre>
<div class="block">The number of read pages from last restart.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of read pages from last restart.</dd>
</dl>
</li>
</ul>
<a name="getPagesWritten--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPagesWritten</h4>
<pre>long&nbsp;getPagesWritten()</pre>
<div class="block">The number of written pages from last restart.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of written pages from last restart.</dd>
</dl>
</li>
</ul>
<a name="getPagesReplaced--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPagesReplaced</h4>
<pre>long&nbsp;getPagesReplaced()</pre>
<div class="block">The number of replaced pages from last restart .</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of replaced pages from last restart .</dd>
</dl>
</li>
</ul>
<a name="getOffHeapSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffHeapSize</h4>
<pre>long&nbsp;getOffHeapSize()</pre>
<div class="block">Total offheap size in bytes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total offheap size in bytes.</dd>
</dl>
</li>
</ul>
<a name="getOffheapUsedSize--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getOffheapUsedSize</h4>
<pre>long&nbsp;getOffheapUsedSize()</pre>
<div class="block">Total used offheap size in bytes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total used offheap size in bytes.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DataRegionMetrics.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Ignite - In-Memory Data Fabric</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../org/apache/ignite/DataRegionMetricsAdapter.html" title="class in org.apache.ignite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/ignite/DataRegionMetrics.html" target="_top">Frames</a></li>
<li><a href="DataRegionMetrics.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><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2018 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.6.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             July 10 2018                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
