<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JvmCpuMonitorMXBean (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: jdk.management, package: com.ibm.lang.management, interface: JvmCpuMonitorMXBean">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.lang.management.JvmCpuMonitorMXBean interface">
<meta name="keywords" content="getThreadsCpuUsage()">
<meta name="keywords" content="setThreadCategory()">
<meta name="keywords" content="getThreadCategory()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/JvmCpuMonitorMXBean.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<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="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!--   -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">jdk.management</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.lang.management</a></div>
<h1 title="Interface JvmCpuMonitorMXBean" class="title">Interface JvmCpuMonitorMXBean</h1>
</div>
<section class="description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.management/java/lang/management/PlatformManagedObject.html" title="class or interface in java.lang.management" class="external-link" target="_blank">PlatformManagedObject</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="internal/JvmCpuMonitor.html" title="class in com.ibm.lang.management.internal">JvmCpuMonitor</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">JvmCpuMonitorMXBean</span><span class="extends-implements">
extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.management/java/lang/management/PlatformManagedObject.html" title="class or interface in java.lang.management" class="external-link" target="_blank">PlatformManagedObject</a></span></div>
<div class="block"><p>
 This interface provides APIs to obtain JVM CPU usage information in terms of thread categories. APIs are also available to
 get and set the thread category.
 <ol>
     <li>The top level thread categories are "System-JVM", "Application", and "Resource-Monitor".
     <li>The "System-JVM" category is further divided into "GC", "JIT", and "Other" and is an aggregate of the three categories.
     <li>The "Application" category can be further divided, if required, in to a maximum of five user defined categories.
         These are called "Application-User1" through to "Application-User5".
     <li>The application can designate any of its threads to be part of any user defined category.
     <li>The application can also designate any of its threads as a "Resource-Monitor".
         "Resource-Monitor" threads are special because they do not participate in idle accounting.
         This means that any CPU usage of these threads does not count towards determining the state of the application.
     <li>A thread can be part of only one category at any given time but can change categories any number of times during its timeline.
     <li>The usage information is in microseconds and increases monotonically. 
     <li>The CPU usage information consists of the following data:
     <ol>
         <li>Attached threads that are live.
         <li>Attached threads that have previously exited.
         <li>Threads attached to the JVM for the period that they were attached.
     </ol>
     <li>CPU usage information notes:
       <ol>
         <li>Unattached native threads are not reflected.
         <li>Finalizer worker threads are considered as "Application" threads.
         <li>Threads of any category that participate in GC activity are accounted for in the "GC" category for the duration of the
             activity if the -XX:-ReduceCPUMonitorOverhead is specified. See the user guide for more information on this option.
         <li>If the application thread switches categories, the CPU usage is measured against each category for the duration of
             time that the thread spends in that category.
       </ol>
     </li>
 </ol>
 This information is based on repeatedly checking the CPU usage in the following use case scenarios: 
 <ol>
     <li>Monitoring application idle and active behavior.
     <li>Calculating the JVM Overhead over a specific interval.
     <li>Collecting transaction metrics for a specific set of application threads over a specific duration.
 </ol>
 <br>
 <table border="1">
 <caption><b>Usage example for the <a href="JvmCpuMonitorMXBean.html" title="interface in com.ibm.lang.management"><code>JvmCpuMonitorMXBean</code></a></b></caption>
 <tr> <td>
 <pre>
 <code>
   ...
   try {
      mxbeanName = new ObjectName("com.ibm.lang.management:type=JvmCpuMonitor");
   } catch (MalformedObjectNameException e) {
      // Exception Handling
   }
   try {
      MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
      if (true != mbeanServer.isRegistered(mxbeanName)) {
         // JvmCpuMonitorMXBean not registered
      }
      JvmCpuMonitorMXBean jcmBean = JMX.newMXBeanProxy(mbeanServer, mxbeanName, JvmCpuMonitorMXBean.class); 
   } catch (Exception e) {
      // Exception Handling
   }
 </code>
 </pre></td></tr>
 </table></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getThreadCategory(long)">getThreadCategory</a></span>&#8203;(long&nbsp;id)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">This function gets the current value of the thread category for the target thread.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management">JvmCpuMonitorInfo</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getThreadsCpuUsage()">getThreadsCpuUsage</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">This function creates a new <a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management"><code>JvmCpuMonitorInfo</code></a> object and populates it
 with CPU usage statistics of the various thread categories.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management">JvmCpuMonitorInfo</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getThreadsCpuUsage(com.ibm.lang.management.JvmCpuMonitorInfo)">getThreadsCpuUsage</a></span>&#8203;(<a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management">JvmCpuMonitorInfo</a>&nbsp;jcmInfo)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">This function updates the user provided <code>JvmCpuMonitorInfo</code> object
 with CPU usage statistics of the various thread categories.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#setThreadCategory(long,java.lang.String)">setThreadCategory</a></span>&#8203;(long&nbsp;id,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;category)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">This function sets the thread category of the target thread.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.management.PlatformManagedObject">Methods declared in interface&nbsp;java.lang.management.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.management/java/lang/management/PlatformManagedObject.html" title="class or interface in java.lang.management" class="external-link" target="_blank">PlatformManagedObject</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.management/java/lang/management/PlatformManagedObject.html#getObjectName()" title="class or interface in java.lang.management" class="external-link" target="_blank">getObjectName</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getThreadsCpuUsage(com.ibm.lang.management.JvmCpuMonitorInfo)">
<h3>getThreadsCpuUsage</h3>
<div class="member-signature"><span class="return-type"><a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management">JvmCpuMonitorInfo</a></span>&nbsp;<span class="element-name">getThreadsCpuUsage</span>&#8203;<span class="parameters">(<a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management">JvmCpuMonitorInfo</a>&nbsp;jcmInfo)</span>
                              throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link" target="_blank">NullPointerException</a>,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link" target="_blank">UnsupportedOperationException</a></span></div>
<div class="block">This function updates the user provided <code>JvmCpuMonitorInfo</code> object
 with CPU usage statistics of the various thread categories.
 The statistics are an aggregate across all CPUs of the operating system.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>jcmInfo</code> - User provided JvmCpuMonitorInfo object.</dd>
<dt>Returns:</dt>
<dd>the updated JvmCpuMonitorInfo instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link" target="_blank">NullPointerException</a></code> - if a null reference is passed.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link" target="_blank">UnsupportedOperationException</a></code> - if CPU monitoring is disabled.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getThreadsCpuUsage()">
<h3>getThreadsCpuUsage</h3>
<div class="member-signature"><span class="return-type"><a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management">JvmCpuMonitorInfo</a></span>&nbsp;<span class="element-name">getThreadsCpuUsage</span>()
                              throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link" target="_blank">UnsupportedOperationException</a></span></div>
<div class="block">This function creates a new <a href="JvmCpuMonitorInfo.html" title="class in com.ibm.lang.management"><code>JvmCpuMonitorInfo</code></a> object and populates it
 with CPU usage statistics of the various thread categories.
 The statistics are an aggregate across all CPUs of the operating system.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the new <code>JvmCpuMonitorInfo</code> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link" target="_blank">UnsupportedOperationException</a></code> - if CPU monitoring is disabled.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setThreadCategory(long,java.lang.String)">
<h3>setThreadCategory</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">setThreadCategory</span>&#8203;<span class="parameters">(long&nbsp;id,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;category)</span>
               throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></span></div>
<div class="block">This function sets the thread category of the target thread.
 Valid categories are
 <ol><li>"Resource-Monitor"
 <li>"Application"
 <li>"Application-User1" through to "Application-User5"
 </ol>
 Some notes on the setting the thread categories
 <ol><li>"Application" threads cannot be changed to any "System-JVM" category.
 <li>Threads in the "System-JVM" category cannot be modified.
 <li>Once a thread is designated as "Resource-Monitor", it cannot be changed. 
 </ol></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - The target thread id for which the type needs to be set.</dd>
<dd><code>category</code> - The category of the target thread.</dd>
<dt>Returns:</dt>
<dd>-1 to indicate failure or 0 on success.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></code> - if a value is passed for the thread category or thread id that is not valid.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getThreadCategory(long)">
<h3>getThreadCategory</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></span>&nbsp;<span class="element-name">getThreadCategory</span>&#8203;<span class="parameters">(long&nbsp;id)</span>
                  throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></span></div>
<div class="block">This function gets the current value of the thread category for the target thread.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - The target thread id for which we need the thread category.</dd>
<dt>Returns:</dt>
<dd>NULL to indicate failure, else the category string of the target thread.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></code> - if the thread id is not valid.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>
