<!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.0.0/javadoc/org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Sun Apr 30 12:27:11 MSK 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClusterLocalNodeMetricsMXBean (Ignite 2.0.0)</title>
<meta name="date" content="2017-04-30">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">

<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"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ClusterLocalNodeMetricsMXBean (Ignite 2.0.0)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ClusterLocalNodeMetricsMXBean.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"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/mxbean/CacheMetricsMXBean.html" title="interface in org.apache.ignite.mxbean"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/mxbean/IgniteMBeanAware.html" title="interface in org.apache.ignite.mxbean"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html" target="_top">Frames</a></li>
<li><a href="ClusterLocalNodeMetricsMXBean.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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.mxbean</div>
<h2 title="Interface ClusterLocalNodeMetricsMXBean" class="title">Interface ClusterLocalNodeMetricsMXBean</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="MBean that provides access to all local node metrics.")
public interface <span class="strong">ClusterLocalNodeMetricsMXBean</span>
extends <a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></pre>
<div class="block">MBean for local node metrics.</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageActiveJobs()">getAverageActiveJobs</a></strong>()</code>
<div class="block">Gets average number of active jobs concurrently executing on the node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageCancelledJobs()">getAverageCancelledJobs</a></strong>()</code>
<div class="block">Gets average number of cancelled jobs this node ever had running
 concurrently.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageCpuLoad()">getAverageCpuLoad</a></strong>()</code>
<div class="block">Gets average of CPU load values over all metrics kept in the history.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageJobExecuteTime()">getAverageJobExecuteTime</a></strong>()</code>
<div class="block">Gets average time a job takes to execute on the node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageJobWaitTime()">getAverageJobWaitTime</a></strong>()</code>
<div class="block">Gets average time jobs spend waiting in the queue to be executed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageRejectedJobs()">getAverageRejectedJobs</a></strong>()</code>
<div class="block">Gets average number of jobs this node rejects during collision resolution operations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getAverageWaitingJobs()">getAverageWaitingJobs</a></strong>()</code>
<div class="block">Gets average number of waiting jobs this node had queued.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getBusyTimePercentage()">getBusyTimePercentage</a></strong>()</code>
<div class="block">Gets percentage of time this node is busy executing jobs vs. idling.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentActiveJobs()">getCurrentActiveJobs</a></strong>()</code>
<div class="block">Gets number of currently active jobs concurrently executing on the node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentCancelledJobs()">getCurrentCancelledJobs</a></strong>()</code>
<div class="block">Gets number of cancelled jobs that are still running.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentCpuLoad()">getCurrentCpuLoad</a></strong>()</code>
<div class="block">Returns the CPU usage usage in <code>[0, 1]</code> range.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentDaemonThreadCount()">getCurrentDaemonThreadCount</a></strong>()</code>
<div class="block">Returns the current number of live daemon threads.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentGcCpuLoad()">getCurrentGcCpuLoad</a></strong>()</code>
<div class="block">Returns average time spent in CG since the last update.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentIdleTime()">getCurrentIdleTime</a></strong>()</code>
<div class="block">Gets time this node spend idling since executing last job.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentJobExecuteTime()">getCurrentJobExecuteTime</a></strong>()</code>
<div class="block">Gets longest time a current job has been executing for.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentJobWaitTime()">getCurrentJobWaitTime</a></strong>()</code>
<div class="block">Gets current time an oldest jobs has spent waiting to be executed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentRejectedJobs()">getCurrentRejectedJobs</a></strong>()</code>
<div class="block">Gets number of jobs rejected after more recent collision resolution operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentThreadCount()">getCurrentThreadCount</a></strong>()</code>
<div class="block">Returns the current number of live threads including both
 daemon and non-daemon threads.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getCurrentWaitingJobs()">getCurrentWaitingJobs</a></strong>()</code>
<div class="block">Gets number of queued jobs currently waiting to be executed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getHeapMemoryCommitted()">getHeapMemoryCommitted</a></strong>()</code>
<div class="block">Returns the amount of heap memory in bytes that is committed for
 the JVM to use.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getHeapMemoryInitialized()">getHeapMemoryInitialized</a></strong>()</code>
<div class="block">Returns the amount of heap memory in bytes that the JVM
 initially requests from the operating system for memory management.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getHeapMemoryMaximum()">getHeapMemoryMaximum</a></strong>()</code>
<div class="block">Returns the maximum amount of heap memory in bytes that can be
 used for memory management.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getHeapMemoryTotal()">getHeapMemoryTotal</a></strong>()</code>
<div class="block">Returns the total amount of heap memory in bytes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getHeapMemoryUsed()">getHeapMemoryUsed</a></strong>()</code>
<div class="block">Returns the current heap size that is used for object allocation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getIdleTimePercentage()">getIdleTimePercentage</a></strong>()</code>
<div class="block">Gets percentage of time this node is idling vs. executing jobs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getLastDataVersion()">getLastDataVersion</a></strong>()</code>
<div class="block">In-Memory Data Grid assigns incremental versions to all cache operations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getLastUpdateTime()">getLastUpdateTime</a></strong>()</code>
<div class="block">Gets last update time of this node metrics.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumActiveJobs()">getMaximumActiveJobs</a></strong>()</code>
<div class="block">Gets maximum number of jobs that ever ran concurrently on this node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumCancelledJobs()">getMaximumCancelledJobs</a></strong>()</code>
<div class="block">Gets maximum number of cancelled jobs this node ever had running
 concurrently.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumJobExecuteTime()">getMaximumJobExecuteTime</a></strong>()</code>
<div class="block">Gets time it took to execute the longest job on the node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumJobWaitTime()">getMaximumJobWaitTime</a></strong>()</code>
<div class="block">Gets maximum time a job ever spent waiting in a queue to be executed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumRejectedJobs()">getMaximumRejectedJobs</a></strong>()</code>
<div class="block">Gets maximum number of jobs rejected at once during a single collision resolution
 operation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumThreadCount()">getMaximumThreadCount</a></strong>()</code>
<div class="block">Returns the maximum live thread count since the JVM
 started or peak was reset.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getMaximumWaitingJobs()">getMaximumWaitingJobs</a></strong>()</code>
<div class="block">Gets maximum number of waiting jobs this node had.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getNodeStartTime()">getNodeStartTime</a></strong>()</code>
<div class="block">Returns the start time of grid node in milliseconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getNonHeapMemoryCommitted()">getNonHeapMemoryCommitted</a></strong>()</code>
<div class="block">Returns the amount of non-heap memory in bytes that is committed for
 the JVM to use.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getNonHeapMemoryInitialized()">getNonHeapMemoryInitialized</a></strong>()</code>
<div class="block">Returns the amount of non-heap memory in bytes that the JVM
 initially requests from the operating system for memory management.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getNonHeapMemoryMaximum()">getNonHeapMemoryMaximum</a></strong>()</code>
<div class="block">Returns the maximum amount of non-heap memory in bytes that can be
 used for memory management.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getNonHeapMemoryTotal()">getNonHeapMemoryTotal</a></strong>()</code>
<div class="block">Returns the total amount of non-heap memory in bytes that can be
 used for memory management.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getNonHeapMemoryUsed()">getNonHeapMemoryUsed</a></strong>()</code>
<div class="block">Returns the current non-heap memory size that is used by Java VM.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getOutboundMessagesQueueSize()">getOutboundMessagesQueueSize</a></strong>()</code>
<div class="block">Gets outbound messages queue size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getReceivedBytesCount()">getReceivedBytesCount</a></strong>()</code>
<div class="block">Gets received bytes count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getReceivedMessagesCount()">getReceivedMessagesCount</a></strong>()</code>
<div class="block">Gets received messages count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getSentBytesCount()">getSentBytesCount</a></strong>()</code>
<div class="block">Gets sent bytes count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getSentMessagesCount()">getSentMessagesCount</a></strong>()</code>
<div class="block">Gets sent messages count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getStartTime()">getStartTime</a></strong>()</code>
<div class="block">Returns the start time of the JVM in milliseconds.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalBusyTime()">getTotalBusyTime</a></strong>()</code>
<div class="block">Gets total time this node spent executing jobs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalCancelledJobs()">getTotalCancelledJobs</a></strong>()</code>
<div class="block">Gets number of cancelled jobs since node startup.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalCpus()">getTotalCpus</a></strong>()</code>
<div class="block">Returns the number of CPUs available to the Java Virtual Machine.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalExecutedJobs()">getTotalExecutedJobs</a></strong>()</code>
<div class="block">Gets total number of jobs handled by the node since node startup.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalExecutedTasks()">getTotalExecutedTasks</a></strong>()</code>
<div class="block">Gets total number of tasks handled by the node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalIdleTime()">getTotalIdleTime</a></strong>()</code>
<div class="block">Gets total time this node spent idling (not executing any jobs).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalNodes()">getTotalNodes</a></strong>()</code>
<div class="block">Gets total number of nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalRejectedJobs()">getTotalRejectedJobs</a></strong>()</code>
<div class="block">Gets total number of jobs this node rejects during collision resolution operations since node startup.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getTotalStartedThreadCount()">getTotalStartedThreadCount</a></strong>()</code>
<div class="block">Returns the total number of threads created and also started
 since the JVM started.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html#getUpTime()">getUpTime</a></strong>()</code>
<div class="block">Returns the uptime of the JVM in milliseconds.</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="getLastUpdateTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastUpdateTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Last update time of this node metrics.")
long&nbsp;getLastUpdateTime()</pre>
<div class="block">Gets last update time of this node metrics.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getLastUpdateTime()">getLastUpdateTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Last update time.</dd></dl>
</li>
</ul>
<a name="getMaximumActiveJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumActiveJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Maximum number of jobs that ever ran concurrently on this node.")
int&nbsp;getMaximumActiveJobs()</pre>
<div class="block">Gets maximum number of jobs that ever ran concurrently on this node.
 Note that this different from <a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalExecutedJobs()"><code>ClusterMetrics.getTotalExecutedJobs()</code></a>
 metric and only reflects maximum number of jobs that ran at the same time.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumActiveJobs()">getMaximumActiveJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum number of jobs that ever ran concurrently on this node.</dd></dl>
</li>
</ul>
<a name="getCurrentActiveJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentActiveJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Number of currently active jobs concurrently executing on the node.")
int&nbsp;getCurrentActiveJobs()</pre>
<div class="block">Gets number of currently active jobs concurrently executing on the node.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentActiveJobs()">getCurrentActiveJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of currently active jobs concurrently executing on the node.</dd></dl>
</li>
</ul>
<a name="getAverageActiveJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageActiveJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average number of active jobs concurrently executing on the node.")
float&nbsp;getAverageActiveJobs()</pre>
<div class="block">Gets average number of active jobs concurrently executing on the node.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageActiveJobs()">getAverageActiveJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average number of active jobs.</dd></dl>
</li>
</ul>
<a name="getMaximumWaitingJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumWaitingJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Maximum number of waiting jobs this node had.")
int&nbsp;getMaximumWaitingJobs()</pre>
<div class="block">Gets maximum number of waiting jobs this node had.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumWaitingJobs()">getMaximumWaitingJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum number of waiting jobs.</dd></dl>
</li>
</ul>
<a name="getCurrentWaitingJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentWaitingJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Number of queued jobs currently waiting to be executed.")
int&nbsp;getCurrentWaitingJobs()</pre>
<div class="block">Gets number of queued jobs currently waiting to be executed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentWaitingJobs()">getCurrentWaitingJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of queued jobs currently waiting to be executed.</dd></dl>
</li>
</ul>
<a name="getAverageWaitingJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageWaitingJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average number of waiting jobs this node had queued.")
float&nbsp;getAverageWaitingJobs()</pre>
<div class="block">Gets average number of waiting jobs this node had queued.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageWaitingJobs()">getAverageWaitingJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average number of waiting jobs.</dd></dl>
</li>
</ul>
<a name="getMaximumRejectedJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumRejectedJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Maximum number of jobs rejected at once during a single collision resolution operation.")
int&nbsp;getMaximumRejectedJobs()</pre>
<div class="block">Gets maximum number of jobs rejected at once during a single collision resolution
 operation.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumRejectedJobs()">getMaximumRejectedJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum number of jobs rejected at once.</dd></dl>
</li>
</ul>
<a name="getCurrentRejectedJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentRejectedJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Number of jobs rejected after more recent collision resolution operation.")
int&nbsp;getCurrentRejectedJobs()</pre>
<div class="block">Gets number of jobs rejected after more recent collision resolution operation.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentRejectedJobs()">getCurrentRejectedJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of jobs rejected after more recent collision resolution operation.</dd></dl>
</li>
</ul>
<a name="getAverageRejectedJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageRejectedJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average number of jobs this node rejects during collision resolution operations.")
float&nbsp;getAverageRejectedJobs()</pre>
<div class="block">Gets average number of jobs this node rejects during collision resolution operations.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of grid configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageRejectedJobs()">getAverageRejectedJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average number of jobs this node rejects during collision resolution operations.</dd></dl>
</li>
</ul>
<a name="getTotalRejectedJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalRejectedJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total number of jobs this node rejects during collision resolution operations since node startup.")
int&nbsp;getTotalRejectedJobs()</pre>
<div class="block">Gets total number of jobs this node rejects during collision resolution operations since node startup.
 <p>
 <b>Note:</b> Unlike most of other aggregation metrics this metric is not calculated over history
 but over the entire node life.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalRejectedJobs()">getTotalRejectedJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total number of jobs this node rejects during collision resolution
      operations since node startup.</dd></dl>
</li>
</ul>
<a name="getMaximumCancelledJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumCancelledJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Maximum number of cancelled jobs this node ever had running concurrently.")
int&nbsp;getMaximumCancelledJobs()</pre>
<div class="block">Gets maximum number of cancelled jobs this node ever had running
 concurrently.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumCancelledJobs()">getMaximumCancelledJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum number of cancelled jobs.</dd></dl>
</li>
</ul>
<a name="getCurrentCancelledJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentCancelledJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Number of cancelled jobs that are still running.")
int&nbsp;getCurrentCancelledJobs()</pre>
<div class="block">Gets number of cancelled jobs that are still running. Just like
 regular java threads, jobs will receive cancel notification, but
 it's ultimately up to the job itself to gracefully exit.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentCancelledJobs()">getCurrentCancelledJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of cancelled jobs that are still running.</dd></dl>
</li>
</ul>
<a name="getAverageCancelledJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageCancelledJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average number of cancelled jobs this node ever had running concurrently.")
float&nbsp;getAverageCancelledJobs()</pre>
<div class="block">Gets average number of cancelled jobs this node ever had running
 concurrently.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageCancelledJobs()">getAverageCancelledJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average number of cancelled jobs.</dd></dl>
</li>
</ul>
<a name="getTotalCancelledJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalCancelledJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total number of cancelled jobs since node startup.")
int&nbsp;getTotalCancelledJobs()</pre>
<div class="block">Gets number of cancelled jobs since node startup.
 <p>
 <b>Note:</b> Unlike most of other aggregation metrics this metric is not calculated over history
 but over the entire node life.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalCancelledJobs()">getTotalCancelledJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total number of cancelled jobs since node startup.</dd></dl>
</li>
</ul>
<a name="getTotalExecutedJobs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalExecutedJobs</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total number of jobs handled by the node.")
int&nbsp;getTotalExecutedJobs()</pre>
<div class="block">Gets total number of jobs handled by the node since node startup.
 <p>
 <b>Note:</b> Unlike most of other aggregation metrics this metric is not calculated over history
 but over the entire node life.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalExecutedJobs()">getTotalExecutedJobs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total number of jobs handled by the node since node startup.</dd></dl>
</li>
</ul>
<a name="getMaximumJobWaitTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumJobWaitTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Maximum time a job ever spent waiting in a queue to be executed.")
long&nbsp;getMaximumJobWaitTime()</pre>
<div class="block">Gets maximum time a job ever spent waiting in a queue to be executed.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumJobWaitTime()">getMaximumJobWaitTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum waiting time.</dd></dl>
</li>
</ul>
<a name="getCurrentJobWaitTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentJobWaitTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Current wait time of oldest job.")
long&nbsp;getCurrentJobWaitTime()</pre>
<div class="block">Gets current time an oldest jobs has spent waiting to be executed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentJobWaitTime()">getCurrentJobWaitTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Current wait time of oldest job.</dd></dl>
</li>
</ul>
<a name="getAverageJobWaitTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageJobWaitTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average time jobs spend waiting in the queue to be executed.")
double&nbsp;getAverageJobWaitTime()</pre>
<div class="block">Gets average time jobs spend waiting in the queue to be executed.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageJobWaitTime()">getAverageJobWaitTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average job wait time.</dd></dl>
</li>
</ul>
<a name="getMaximumJobExecuteTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumJobExecuteTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Time it took to execute the longest job on the node.")
long&nbsp;getMaximumJobExecuteTime()</pre>
<div class="block">Gets time it took to execute the longest job on the node.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumJobExecuteTime()">getMaximumJobExecuteTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Time it took to execute the longest job on the node.</dd></dl>
</li>
</ul>
<a name="getCurrentJobExecuteTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentJobExecuteTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Longest time a current job has been executing for.")
long&nbsp;getCurrentJobExecuteTime()</pre>
<div class="block">Gets longest time a current job has been executing for.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentJobExecuteTime()">getCurrentJobExecuteTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Longest time a current job has been executing for.</dd></dl>
</li>
</ul>
<a name="getAverageJobExecuteTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageJobExecuteTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average time a job takes to execute on the node.")
double&nbsp;getAverageJobExecuteTime()</pre>
<div class="block">Gets average time a job takes to execute on the node.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageJobExecuteTime()">getAverageJobExecuteTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average job execution time.</dd></dl>
</li>
</ul>
<a name="getTotalExecutedTasks()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalExecutedTasks</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total number of tasks handled by the node.")
int&nbsp;getTotalExecutedTasks()</pre>
<div class="block">Gets total number of tasks handled by the node.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalExecutedTasks()">getTotalExecutedTasks</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total number of jobs handled by the node.</dd></dl>
</li>
</ul>
<a name="getTotalBusyTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalBusyTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total time this node spent executing jobs.")
long&nbsp;getTotalBusyTime()</pre>
<div class="block">Gets total time this node spent executing jobs.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalBusyTime()">getTotalBusyTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total time this node spent executing jobs.</dd></dl>
</li>
</ul>
<a name="getTotalIdleTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalIdleTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total time this node spent idling (not executing any jobs).")
long&nbsp;getTotalIdleTime()</pre>
<div class="block">Gets total time this node spent idling (not executing any jobs).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalIdleTime()">getTotalIdleTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Gets total time this node spent idling.</dd></dl>
</li>
</ul>
<a name="getCurrentIdleTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentIdleTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Time this node spend idling since executing last job.")
long&nbsp;getCurrentIdleTime()</pre>
<div class="block">Gets time this node spend idling since executing last job.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentIdleTime()">getCurrentIdleTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Time this node spend idling since executing last job.</dd></dl>
</li>
</ul>
<a name="getBusyTimePercentage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBusyTimePercentage</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Percentage of time this node is busy executing jobs vs. idling.")
float&nbsp;getBusyTimePercentage()</pre>
<div class="block">Gets percentage of time this node is busy executing jobs vs. idling.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getBusyTimePercentage()">getBusyTimePercentage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Percentage of time this node is busy (value is less than
      or equal to <code>1</code> and greater than or equal to <code>0</code>)</dd></dl>
</li>
</ul>
<a name="getIdleTimePercentage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimePercentage</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Percentage of time this node is idling vs. executing jobs.")
float&nbsp;getIdleTimePercentage()</pre>
<div class="block">Gets percentage of time this node is idling vs. executing jobs.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getIdleTimePercentage()">getIdleTimePercentage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Percentage of time this node is idle (value is less than
      or equal to <code>1</code> and greater than or equal to <code>0</code>)</dd></dl>
</li>
</ul>
<a name="getTotalCpus()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalCpus</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The number of CPUs available to the Java Virtual Machine.")
int&nbsp;getTotalCpus()</pre>
<div class="block">Returns the number of CPUs available to the Java Virtual Machine.
 This method is equivalent to the <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html?is-external=true#availableProcessors()" title="class or interface in java.lang"><code>Runtime.availableProcessors()</code></a>
 method.
 <p>
 Note that this value may change during successive invocations of the
 virtual machine.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalCpus()">getTotalCpus</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The number of processors available to the virtual
      machine, never smaller than one.</dd></dl>
</li>
</ul>
<a name="getCurrentCpuLoad()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentCpuLoad</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The system load average; or a negative value if not available.")
double&nbsp;getCurrentCpuLoad()</pre>
<div class="block">Returns the CPU usage usage in <code>[0, 1]</code> range.
 The exact way how this number is calculated depends on SPI implementation.
 <p>
 If the CPU usage is not available, a negative value is returned.
 <p>
 This method is designed to provide a hint about the system load
 and may be queried frequently. The load average may be unavailable on
 some platform where it is expensive to implement this method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentCpuLoad()">getCurrentCpuLoad</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The estimated CPU usage in <code>[0, 1]</code> range.
      Negative value if not available.</dd></dl>
</li>
</ul>
<a name="getAverageCpuLoad()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAverageCpuLoad</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average of CPU load values over all metrics kept in the history.")
double&nbsp;getAverageCpuLoad()</pre>
<div class="block">Gets average of CPU load values over all metrics kept in the history.
 <p>
 <b>Note:</b> all aggregated metrics like average, minimum, maximum, total, count are
 calculated over all the metrics kept in history. The
 history size is set via either one or both of configuration settings:
 <ul>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsExpireTime()"><code>IgniteConfiguration.getMetricsExpireTime()</code></a></li>
 <li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getMetricsHistorySize()"><code>IgniteConfiguration.getMetricsHistorySize()</code></a></li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getAverageCpuLoad()">getAverageCpuLoad</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average of CPU load value in <code>[0, 1]</code> range over all metrics kept
      in the history.</dd></dl>
</li>
</ul>
<a name="getCurrentGcCpuLoad()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentGcCpuLoad</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Average time spent in CG since the last update.")
double&nbsp;getCurrentGcCpuLoad()</pre>
<div class="block">Returns average time spent in CG since the last update.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentGcCpuLoad()">getCurrentGcCpuLoad</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Average time spent in CG since the last update.</dd></dl>
</li>
</ul>
<a name="getHeapMemoryInitialized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeapMemoryInitialized</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The initial size of memory in bytes; -1 if undefined.")
long&nbsp;getHeapMemoryInitialized()</pre>
<div class="block">Returns the amount of heap memory in bytes that the JVM
 initially requests from the operating system for memory management.
 This method returns <code>-1</code> if the initial memory size is undefined.
 <p>
 This value represents a setting of the heap memory for Java VM and is
 not a sum of all initial heap values for all memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getHeapMemoryInitialized()">getHeapMemoryInitialized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The initial size of memory in bytes; <code>-1</code> if undefined.</dd></dl>
</li>
</ul>
<a name="getHeapMemoryUsed()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeapMemoryUsed</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Current heap size that is used for object allocation.")
long&nbsp;getHeapMemoryUsed()</pre>
<div class="block">Returns the current heap size that is used for object allocation.
 The heap consists of one or more memory pools. This value is
 the sum of <code>used</code> heap memory values of all heap memory pools.
 <p>
 The amount of used memory in the returned is the amount of memory
 occupied by both live objects and garbage objects that have not
 been collected, if any.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getHeapMemoryUsed()">getHeapMemoryUsed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Amount of heap memory used.</dd></dl>
</li>
</ul>
<a name="getHeapMemoryCommitted()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeapMemoryCommitted</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The amount of committed memory in bytes.")
long&nbsp;getHeapMemoryCommitted()</pre>
<div class="block">Returns the amount of heap memory in bytes that is committed for
 the JVM to use. This amount of memory is
 guaranteed for the JVM to use.
 The heap consists of one or more memory pools. This value is
 the sum of <code>committed</code> heap memory values of all heap memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getHeapMemoryCommitted()">getHeapMemoryCommitted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The amount of committed memory in bytes.</dd></dl>
</li>
</ul>
<a name="getHeapMemoryMaximum()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeapMemoryMaximum</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The maximum amount of memory in bytes; -1 if undefined.")
long&nbsp;getHeapMemoryMaximum()</pre>
<div class="block">Returns the maximum amount of heap memory in bytes that can be
 used for memory management. This method returns <code>-1</code>
 if the maximum memory size is undefined.
 <p>
 This amount of memory is not guaranteed to be available
 for memory management if it is greater than the amount of
 committed memory. The JVM may fail to allocate
 memory even if the amount of used memory does not exceed this
 maximum size.
 <p>
 This value represents a setting of the heap memory for Java VM and is
 not a sum of all initial heap values for all memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getHeapMemoryMaximum()">getHeapMemoryMaximum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The maximum amount of memory in bytes; <code>-1</code> if undefined.</dd></dl>
</li>
</ul>
<a name="getHeapMemoryTotal()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeapMemoryTotal</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The total amount of memory in bytes; -1 if undefined.")
long&nbsp;getHeapMemoryTotal()</pre>
<div class="block">Returns the total amount of heap memory in bytes. This method returns <code>-1</code>
 if the total memory size is undefined.
 <p>
 This amount of memory is not guaranteed to be available
 for memory management if it is greater than the amount of
 committed memory. The JVM may fail to allocate
 memory even if the amount of used memory does not exceed this
 maximum size.
 <p>
 This value represents a setting of the heap memory for Java VM and is
 not a sum of all initial heap values for all memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getHeapMemoryTotal()">getHeapMemoryTotal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The total amount of memory in bytes; <code>-1</code> if undefined.</dd></dl>
</li>
</ul>
<a name="getNonHeapMemoryInitialized()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonHeapMemoryInitialized</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The initial size of memory in bytes; -1 if undefined.")
long&nbsp;getNonHeapMemoryInitialized()</pre>
<div class="block">Returns the amount of non-heap memory in bytes that the JVM
 initially requests from the operating system for memory management.
 This method returns <code>-1</code> if the initial memory size is undefined.
 <p>
 This value represents a setting of non-heap memory for Java VM and is
 not a sum of all initial heap values for all memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getNonHeapMemoryInitialized()">getNonHeapMemoryInitialized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The initial size of memory in bytes; <code>-1</code> if undefined.</dd></dl>
</li>
</ul>
<a name="getNonHeapMemoryUsed()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonHeapMemoryUsed</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Current non-heap memory size that is used by Java VM.")
long&nbsp;getNonHeapMemoryUsed()</pre>
<div class="block">Returns the current non-heap memory size that is used by Java VM.
 The non-heap memory consists of one or more memory pools. This value is
 the sum of <code>used</code> non-heap memory values of all non-heap memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getNonHeapMemoryUsed()">getNonHeapMemoryUsed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Amount of none-heap memory used.</dd></dl>
</li>
</ul>
<a name="getNonHeapMemoryCommitted()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonHeapMemoryCommitted</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Amount of non-heap memory in bytes that is committed for the JVM to use.")
long&nbsp;getNonHeapMemoryCommitted()</pre>
<div class="block">Returns the amount of non-heap memory in bytes that is committed for
 the JVM to use. This amount of memory is
 guaranteed for the JVM to use.
 The non-heap memory consists of one or more memory pools. This value is
 the sum of <code>committed</code> non-heap memory values of all non-heap memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getNonHeapMemoryCommitted()">getNonHeapMemoryCommitted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The amount of committed memory in bytes.</dd></dl>
</li>
</ul>
<a name="getNonHeapMemoryMaximum()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonHeapMemoryMaximum</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Maximum amount of non-heap memory in bytes that can be used for memory management. -1 if undefined.")
long&nbsp;getNonHeapMemoryMaximum()</pre>
<div class="block">Returns the maximum amount of non-heap memory in bytes that can be
 used for memory management. This method returns <code>-1</code>
 if the maximum memory size is undefined.
 <p>
 This amount of memory is not guaranteed to be available
 for memory management if it is greater than the amount of
 committed memory.  The JVM may fail to allocate
 memory even if the amount of used memory does not exceed this
 maximum size.
 <p>
 This value represents a setting of the non-heap memory for Java VM and is
 not a sum of all initial non-heap values for all memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getNonHeapMemoryMaximum()">getNonHeapMemoryMaximum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The maximum amount of memory in bytes; <code>-1</code> if undefined.</dd></dl>
</li>
</ul>
<a name="getNonHeapMemoryTotal()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonHeapMemoryTotal</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total amount of non-heap memory in bytes that can be used for memory management. -1 if undefined.")
long&nbsp;getNonHeapMemoryTotal()</pre>
<div class="block">Returns the total amount of non-heap memory in bytes that can be
 used for memory management. This method returns <code>-1</code>
 if the total memory size is undefined.
 <p>
 This amount of memory is not guaranteed to be available
 for memory management if it is greater than the amount of
 committed memory.  The JVM may fail to allocate
 memory even if the amount of used memory does not exceed this
 maximum size.
 <p>
 This value represents a setting of the non-heap memory for Java VM and is
 not a sum of all initial non-heap values for all memory pools.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getNonHeapMemoryTotal()">getNonHeapMemoryTotal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The total amount of memory in bytes; <code>-1</code> if undefined.</dd></dl>
</li>
</ul>
<a name="getUpTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Uptime of the JVM in milliseconds.")
long&nbsp;getUpTime()</pre>
<div class="block">Returns the uptime of the JVM in milliseconds.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getUpTime()">getUpTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Uptime of the JVM in milliseconds.</dd></dl>
</li>
</ul>
<a name="getStartTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStartTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Start time of the JVM in milliseconds.")
long&nbsp;getStartTime()</pre>
<div class="block">Returns the start time of the JVM in milliseconds.
 This method returns the approximate time when the Java virtual
 machine started.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getStartTime()">getStartTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Start time of the JVM in milliseconds.</dd></dl>
</li>
</ul>
<a name="getCurrentThreadCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentThreadCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Current number of live threads.")
int&nbsp;getCurrentThreadCount()</pre>
<div class="block">Returns the current number of live threads including both
 daemon and non-daemon threads.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentThreadCount()">getCurrentThreadCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Current number of live threads.</dd></dl>
</li>
</ul>
<a name="getMaximumThreadCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumThreadCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The peak live thread count.")
int&nbsp;getMaximumThreadCount()</pre>
<div class="block">Returns the maximum live thread count since the JVM
 started or peak was reset.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getMaximumThreadCount()">getMaximumThreadCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The peak live thread count.</dd></dl>
</li>
</ul>
<a name="getTotalStartedThreadCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalStartedThreadCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="The total number of threads started.")
long&nbsp;getTotalStartedThreadCount()</pre>
<div class="block">Returns the total number of threads created and also started
 since the JVM started.
 <p>
 <b>Note:</b> this is <b>not</b> an aggregated metric and it's calculated
 from the time of the node's startup.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalStartedThreadCount()">getTotalStartedThreadCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The total number of threads started.</dd></dl>
</li>
</ul>
<a name="getCurrentDaemonThreadCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentDaemonThreadCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Current number of live daemon threads.")
int&nbsp;getCurrentDaemonThreadCount()</pre>
<div class="block">Returns the current number of live daemon threads.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getCurrentDaemonThreadCount()">getCurrentDaemonThreadCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Current number of live daemon threads.</dd></dl>
</li>
</ul>
<a name="getLastDataVersion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastDataVersion</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Last data version.")
long&nbsp;getLastDataVersion()</pre>
<div class="block">In-Memory Data Grid assigns incremental versions to all cache operations. This method provides
 the latest data version on the node.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getLastDataVersion()">getLastDataVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Last data version.</dd></dl>
</li>
</ul>
<a name="getSentMessagesCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSentMessagesCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Sent messages count.")
int&nbsp;getSentMessagesCount()</pre>
<div class="block">Gets sent messages count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getSentMessagesCount()">getSentMessagesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Sent messages count.</dd></dl>
</li>
</ul>
<a name="getSentBytesCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSentBytesCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Sent bytes count.")
long&nbsp;getSentBytesCount()</pre>
<div class="block">Gets sent bytes count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getSentBytesCount()">getSentBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Sent bytes count.</dd></dl>
</li>
</ul>
<a name="getReceivedMessagesCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedMessagesCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Received messages count.")
int&nbsp;getReceivedMessagesCount()</pre>
<div class="block">Gets received messages count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getReceivedMessagesCount()">getReceivedMessagesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Received messages count.</dd></dl>
</li>
</ul>
<a name="getReceivedBytesCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedBytesCount</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Received bytes count.")
long&nbsp;getReceivedBytesCount()</pre>
<div class="block">Gets received bytes count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getReceivedBytesCount()">getReceivedBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Received bytes count.</dd></dl>
</li>
</ul>
<a name="getOutboundMessagesQueueSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutboundMessagesQueueSize</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Outbound messages queue size.")
int&nbsp;getOutboundMessagesQueueSize()</pre>
<div class="block">Gets outbound messages queue size.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getOutboundMessagesQueueSize()">getOutboundMessagesQueueSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Outbound messages queue size.</dd></dl>
</li>
</ul>
<a name="getNodeStartTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeStartTime</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Start time of the grid node in milliseconds.")
long&nbsp;getNodeStartTime()</pre>
<div class="block">Returns the start time of grid node in milliseconds.
 There can be several grid nodes started in one JVM, so JVM start time will be
 the same for all of them, but node start time will be different.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getNodeStartTime()">getNodeStartTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Start time of the grid node in milliseconds.</dd></dl>
</li>
</ul>
<a name="getTotalNodes()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTotalNodes</h4>
<pre><a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html" title="annotation in org.apache.ignite.mxbean">@MXBeanDescription</a>(<a href="../../../../org/apache/ignite/mxbean/MXBeanDescription.html#value()">value</a>="Total number of nodes.")
int&nbsp;getTotalNodes()</pre>
<div class="block">Gets total number of nodes.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html#getTotalNodes()">getTotalNodes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/cluster/ClusterMetrics.html" title="interface in org.apache.ignite.cluster">ClusterMetrics</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total number of nodes.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ClusterLocalNodeMetricsMXBean.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"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/mxbean/CacheMetricsMXBean.html" title="interface in org.apache.ignite.mxbean"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/mxbean/IgniteMBeanAware.html" title="interface in org.apache.ignite.mxbean"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html" target="_top">Frames</a></li>
<li><a href="ClusterLocalNodeMetricsMXBean.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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>2017 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.0.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             April 30 2017                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
