<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.0.0-rc3/javadoc/org/apache/ignite/cluster/ClusterMetrics.html" />
<!-- Generated by javadoc (version 1.7.0_21) on Tue Mar 24 10:27:32 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>ClusterMetrics (Ignite 1.0.0-RC3)</title>
<meta name="date" content="2015-03-24">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">
<link rel='shortcut icon' href='http://gridgain.com/wp-content/uploads/2014/09/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushGroovy.js'></script>

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

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

</script></head>

<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ClusterMetrics (Ignite 1.0.0-RC3)";
    }
//-->
</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/ClusterMetrics.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>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/cluster/ClusterGroupEmptyException.html" title="class in org.apache.ignite.cluster"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/cluster/ClusterMetrics.html" target="_top">Frames</a></li>
<li><a href="ClusterMetrics.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.cluster</div>
<h2 title="Interface ClusterMetrics" class="title">Interface ClusterMetrics</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.html" title="interface in org.apache.ignite.mxbean">ClusterLocalNodeMetricsMXBean</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">ClusterMetrics</span></pre>
<div class="block">This class represents runtime information on a cluster. Apart from obvious
 statistical value, this information is used for implementation of
 load balancing, failover, and collision SPIs. For example, collision SPI
 in combination with fail-over SPI could check if other nodes don't have
 any active or waiting jobs and fail-over some jobs to those nodes.
 <p>
 Node metrics for any node can be accessed via <a href="../../../../org/apache/ignite/cluster/ClusterNode.html#metrics()"><code>ClusterNode.metrics()</code></a>
 method. Keep in mind that there will be a certain network delay (usually
 equal to heartbeat delay) for the accuracy of node metrics. However, when accessing
 metrics on local node <a href="../../../../org/apache/ignite/IgniteCluster.html#localNode()"><code>Grid.localNode().getMetrics()</code></a>
 the metrics are always accurate and up to date.
 <p>
 Local node metrics are registered as <code>MBean</code> and can be accessed from
 any JMX management console. The simplest way is to use standard <code>jconsole</code>
 that comes with JDK as it also provides ability to view any node parameter
 as a graph.</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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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/cluster/ClusterMetrics.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>long&nbsp;getLastUpdateTime()</pre>
<div class="block">Gets last update time of this node metrics.</div>
<dl><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>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>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><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>int&nbsp;getCurrentActiveJobs()</pre>
<div class="block">Gets number of currently active jobs concurrently executing on the node.</div>
<dl><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>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><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>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><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>int&nbsp;getCurrentWaitingJobs()</pre>
<div class="block">Gets number of queued jobs currently waiting to be executed.</div>
<dl><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>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><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>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><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>int&nbsp;getCurrentRejectedJobs()</pre>
<div class="block">Gets number of jobs rejected after more recent collision resolution operation.</div>
<dl><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>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><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>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><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>int&nbsp;getMaximumCancelledJobs()</pre>
<div class="block">Gets maximum number of cancelled jobs this node ever had running
 concurrently.</div>
<dl><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>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><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>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><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>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><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>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><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>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><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>long&nbsp;getCurrentJobWaitTime()</pre>
<div class="block">Gets current time an oldest jobs has spent waiting to be executed.</div>
<dl><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>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><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>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><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>long&nbsp;getCurrentJobExecuteTime()</pre>
<div class="block">Gets longest time a current job has been executing for.</div>
<dl><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>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><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>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><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>long&nbsp;getTotalBusyTime()</pre>
<div class="block">Gets total time this node spent executing jobs.</div>
<dl><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>long&nbsp;getTotalIdleTime()</pre>
<div class="block">Gets total time this node spent idling (not executing any jobs).</div>
<dl><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>long&nbsp;getCurrentIdleTime()</pre>
<div class="block">Gets time this node spend idling since executing last job.</div>
<dl><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>float&nbsp;getBusyTimePercentage()</pre>
<div class="block">Gets percentage of time this node is busy executing jobs vs. idling.</div>
<dl><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>float&nbsp;getIdleTimePercentage()</pre>
<div class="block">Gets percentage of time this node is idling vs. executing jobs.</div>
<dl><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>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><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>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><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>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><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>double&nbsp;getCurrentGcCpuLoad()</pre>
<div class="block">Returns average time spent in CG since the last update.</div>
<dl><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>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><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>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><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>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><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>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><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>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><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>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><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>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><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>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><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>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><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>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><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>long&nbsp;getUpTime()</pre>
<div class="block">Returns the uptime of the JVM in milliseconds.</div>
<dl><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>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><span class="strong">Returns:</span></dt><dd>Start time of the JVM in milliseconds.</dd></dl>
</li>
</ul>
<a name="getNodeStartTime()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeStartTime</h4>
<pre>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><span class="strong">Returns:</span></dt><dd>Start time of the grid node in milliseconds.</dd></dl>
</li>
</ul>
<a name="getCurrentThreadCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentThreadCount</h4>
<pre>int&nbsp;getCurrentThreadCount()</pre>
<div class="block">Returns the current number of live threads including both
 daemon and non-daemon threads.</div>
<dl><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>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><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>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><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>int&nbsp;getCurrentDaemonThreadCount()</pre>
<div class="block">Returns the current number of live daemon threads.</div>
<dl><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>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><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>int&nbsp;getSentMessagesCount()</pre>
<div class="block">Gets sent messages count.</div>
<dl><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>long&nbsp;getSentBytesCount()</pre>
<div class="block">Gets sent bytes count.</div>
<dl><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>int&nbsp;getReceivedMessagesCount()</pre>
<div class="block">Gets received messages count.</div>
<dl><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>long&nbsp;getReceivedBytesCount()</pre>
<div class="block">Gets received bytes count.</div>
<dl><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>int&nbsp;getOutboundMessagesQueueSize()</pre>
<div class="block">Gets outbound messages queue size.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Outbound messages queue size.</dd></dl>
</li>
</ul>
<a name="getTotalNodes()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTotalNodes</h4>
<pre>int&nbsp;getTotalNodes()</pre>
<div class="block">Gets total number of nodes.</div>
<dl><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/ClusterMetrics.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>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/cluster/ClusterGroupEmptyException.html" title="class in org.apache.ignite.cluster"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/cluster/ClusterMetrics.html" target="_top">Frames</a></li>
<li><a href="ClusterMetrics.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://incubator.apache.org/projects/ignite.html"><nobr>2015 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>                                             <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>                                         </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>Apache Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.0.0-RC3</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             March 24 2015                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>

</html>
