blob: a9201cc8262a975b053aa35df8885e2e211fb181 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Metrics (kafka 2.8.1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Metrics (kafka 2.8.1 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.kafka.common.metrics</a></div>
<h2 title="Class Metrics" class="title">Class Metrics</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.kafka.common.metrics.Metrics</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true" title="class or interface in java.io" class="externalLink">Closeable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang" class="externalLink">AutoCloseable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">Metrics</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true" title="class or interface in java.io" class="externalLink">Closeable</a></pre>
<div class="block">A registry of sensors and metrics.
<p>
A metric is a named, numerical measurement. A sensor is a handle to record numerical measurements as they occur. Each
Sensor has zero or more associated metrics. For example a Sensor might represent message sizes and we might associate
with this sensor a metric for the average, maximum, or other statistics computed off the sequence of message sizes
that are recorded by the sensor.
<p>
Usage looks something like this:
<pre>
// set up metrics:
Metrics metrics = new Metrics(); // this is the global repository of metrics and sensors
Sensor sensor = metrics.sensor(&quot;message-sizes&quot;);
MetricName metricName = new MetricName(&quot;message-size-avg&quot;, &quot;producer-metrics&quot;);
sensor.add(metricName, new Avg());
metricName = new MetricName(&quot;message-size-max&quot;, &quot;producer-metrics&quot;);
sensor.add(metricName, new Max());
// as messages are sent we record the sizes
sensor.record(messageSize);
</pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Metrics</a></span>()</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with no metric reporters and default configuration.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.metrics.MetricConfig)">Metrics</a></span>&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with no reporters and the given default config.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time)">Metrics</a></span>&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with a default config and the given metric reporters.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time,boolean)">Metrics</a></span>&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time,
boolean&nbsp;enableExpiration)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with a default config, given metric reporters and the ability to expire eligible sensors</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time,boolean,org.apache.kafka.common.metrics.MetricsContext)">Metrics</a></span>&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time,
boolean&nbsp;enableExpiration,
<a href="MetricsContext.html" title="interface in org.apache.kafka.common.metrics">MetricsContext</a>&nbsp;metricsContext)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with a default config, given metric reporters, the ability to expire eligible sensors
and MetricContext</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time,org.apache.kafka.common.metrics.MetricsContext)">Metrics</a></span>&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time,
<a href="MetricsContext.html" title="interface in org.apache.kafka.common.metrics">MetricsContext</a>&nbsp;metricsContext)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with a default config, metric reporters and metric context
Expiration of Sensors is disabled.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.utils.Time)">Metrics</a></span>&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
org.apache.kafka.common.utils.Time&nbsp;time)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with no metric reporters and the given default configuration.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.kafka.common.utils.Time)">Metrics</a></span>&#8203;(org.apache.kafka.common.utils.Time&nbsp;time)</code></th>
<td class="colLast">
<div class="block">Create a metrics repository with no metric reporters and default configuration.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.Measurable)">addMetric</a></span>&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="Measurable.html" title="interface in org.apache.kafka.common.metrics">Measurable</a>&nbsp;measurable)</code></th>
<td class="colLast">
<div class="block">Add a metric to monitor an object that implements measurable.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.Measurable)">addMetric</a></span>&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="Measurable.html" title="interface in org.apache.kafka.common.metrics">Measurable</a>&nbsp;measurable)</code></th>
<td class="colLast">
<div class="block">Add a metric to monitor an object that implements Measurable.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.MetricValueProvider)">addMetric</a></span>&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="MetricValueProvider.html" title="interface in org.apache.kafka.common.metrics">MetricValueProvider</a>&lt;?&gt;&nbsp;metricValueProvider)</code></th>
<td class="colLast">
<div class="block">Add a metric to monitor an object that implements MetricValueProvider.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricValueProvider)">addMetric</a></span>&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="MetricValueProvider.html" title="interface in org.apache.kafka.common.metrics">MetricValueProvider</a>&lt;?&gt;&nbsp;metricValueProvider)</code></th>
<td class="colLast">
<div class="block">Add a metric to monitor an object that implements MetricValueProvider.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addReporter(org.apache.kafka.common.metrics.MetricsReporter)">addReporter</a></span>&#8203;(<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&nbsp;reporter)</code></th>
<td class="colLast">
<div class="block">Add a MetricReporter</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Close this metrics repository.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#config()">config</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSensor(java.lang.String)">getSensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Get the sensor with the given name if it exists</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metric(org.apache.kafka.common.MetricName)">metric</a></span>&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricInstance(org.apache.kafka.common.MetricNameTemplate,java.lang.String...)">metricInstance</a></span>&#8203;(<a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common">MetricNameTemplate</a>&nbsp;template,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;keyValue)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricInstance(org.apache.kafka.common.MetricNameTemplate,java.util.Map)">metricInstance</a></span>&#8203;(<a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common">MetricNameTemplate</a>&nbsp;template,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;tags)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricName(java.lang.String,java.lang.String)">metricName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group)</code></th>
<td class="colLast">
<div class="block">Create a MetricName with the given name, group and default tags specified in the metric configuration.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricName(java.lang.String,java.lang.String,java.lang.String)">metricName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;description)</code></th>
<td class="colLast">
<div class="block">Create a MetricName with the given name, group, description, and default tags
specified in the metric configuration.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricName(java.lang.String,java.lang.String,java.lang.String,java.lang.String...)">metricName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;description,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;keyValue)</code></th>
<td class="colLast">
<div class="block">Create a MetricName with the given name, group, description, and keyValue as tags, plus default tags specified in the metric
configuration.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricName(java.lang.String,java.lang.String,java.lang.String,java.util.Map)">metricName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;description,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;tags)</code></th>
<td class="colLast">
<div class="block">Create a MetricName with the given name, group, description and tags, plus default tags specified in the metric
configuration.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricName(java.lang.String,java.lang.String,java.util.Map)">metricName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;tags)</code></th>
<td class="colLast">
<div class="block">Create a MetricName with the given name, group and tags, plus default tags specified in the metric
configuration.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>,&#8203;<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metrics()">metrics</a></span>()</code></th>
<td class="colLast">
<div class="block">Get all the metrics currently maintained indexed by metricName</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMetric(org.apache.kafka.common.MetricName)">removeMetric</a></span>&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName)</code></th>
<td class="colLast">
<div class="block">Remove a metric if it exists and return it.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeReporter(org.apache.kafka.common.metrics.MetricsReporter)">removeReporter</a></span>&#8203;(<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&nbsp;reporter)</code></th>
<td class="colLast">
<div class="block">Remove a MetricReporter</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSensor(java.lang.String)">removeSensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Remove a sensor (if it exists), associated metrics and its children.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reporters()">reporters</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and no parent sensors.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,long,org.apache.kafka.common.metrics.Sensor.RecordingLevel,org.apache.kafka.common.metrics.Sensor...)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
long&nbsp;inactiveSensorExpirationTimeSeconds,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,long,org.apache.kafka.common.metrics.Sensor...)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
long&nbsp;inactiveSensorExpirationTimeSeconds,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.Sensor.RecordingLevel,org.apache.kafka.common.metrics.Sensor...)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.Sensor...)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.Sensor.RecordingLevel)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and no parent sensors and with a given
recording level.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.Sensor.RecordingLevel,org.apache.kafka.common.metrics.Sensor...)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sensor(java.lang.String,org.apache.kafka.common.metrics.Sensor...)">sensor</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</code></th>
<td class="colLast">
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toHtmlTable(java.lang.String,java.lang.Iterable)">toHtmlTable</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;domain,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;<a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common">MetricNameTemplate</a>&gt;&nbsp;allMetrics)</code></th>
<td class="colLast">
<div class="block">Use the specified domain and metric name templates to generate an HTML table documenting the metrics.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics()</pre>
<div class="block">Create a metrics repository with no metric reporters and default configuration.
Expiration of Sensors is disabled.</div>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.utils.Time)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(org.apache.kafka.common.utils.Time&nbsp;time)</pre>
<div class="block">Create a metrics repository with no metric reporters and default configuration.
Expiration of Sensors is disabled.</div>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.utils.Time)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
org.apache.kafka.common.utils.Time&nbsp;time)</pre>
<div class="block">Create a metrics repository with no metric reporters and the given default configuration.
Expiration of Sensors is disabled.</div>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.metrics.MetricConfig)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig)</pre>
<div class="block">Create a metrics repository with no reporters and the given default config. This config will be used for any
metric that doesn't override its own config. Expiration of Sensors is disabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>defaultConfig</code> - The default config to use for all metrics that don't override their config</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time)</pre>
<div class="block">Create a metrics repository with a default config and the given metric reporters.
Expiration of Sensors is disabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>defaultConfig</code> - The default config</dd>
<dd><code>reporters</code> - The metrics reporters</dd>
<dd><code>time</code> - The time instance to use with the metrics</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time,org.apache.kafka.common.metrics.MetricsContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time,
<a href="MetricsContext.html" title="interface in org.apache.kafka.common.metrics">MetricsContext</a>&nbsp;metricsContext)</pre>
<div class="block">Create a metrics repository with a default config, metric reporters and metric context
Expiration of Sensors is disabled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>defaultConfig</code> - The default config</dd>
<dd><code>reporters</code> - The metrics reporters</dd>
<dd><code>time</code> - The time instance to use with the metrics</dd>
<dd><code>metricsContext</code> - The metricsContext to initialize metrics reporter with</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time,
boolean&nbsp;enableExpiration)</pre>
<div class="block">Create a metrics repository with a default config, given metric reporters and the ability to expire eligible sensors</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>defaultConfig</code> - The default config</dd>
<dd><code>reporters</code> - The metrics reporters</dd>
<dd><code>time</code> - The time instance to use with the metrics</dd>
<dd><code>enableExpiration</code> - true if the metrics instance can garbage collect inactive sensors, false otherwise</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.kafka.common.metrics.MetricConfig,java.util.List,org.apache.kafka.common.utils.Time,boolean,org.apache.kafka.common.metrics.MetricsContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Metrics</h4>
<pre>public&nbsp;Metrics&#8203;(<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;defaultConfig,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters,
org.apache.kafka.common.utils.Time&nbsp;time,
boolean&nbsp;enableExpiration,
<a href="MetricsContext.html" title="interface in org.apache.kafka.common.metrics">MetricsContext</a>&nbsp;metricsContext)</pre>
<div class="block">Create a metrics repository with a default config, given metric reporters, the ability to expire eligible sensors
and MetricContext</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>defaultConfig</code> - The default config</dd>
<dd><code>reporters</code> - The metrics reporters</dd>
<dd><code>time</code> - The time instance to use with the metrics</dd>
<dd><code>enableExpiration</code> - true if the metrics instance can garbage collect inactive sensors, false otherwise</dd>
<dd><code>metricsContext</code> - The metricsContext to initialize metrics reporter with</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="metricName(java.lang.String,java.lang.String,java.lang.String,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricName</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;description,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;tags)</pre>
<div class="block">Create a MetricName with the given name, group, description and tags, plus default tags specified in the metric
configuration. Tag in tags takes precedence if the same tag key is specified in the default metric configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the metric</dd>
<dd><code>group</code> - logical group name of the metrics to which this metric belongs</dd>
<dd><code>description</code> - A human-readable description to include in the metric</dd>
<dd><code>tags</code> - additional key/value attributes of the metric</dd>
</dl>
</li>
</ul>
<a id="metricName(java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricName</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;description)</pre>
<div class="block">Create a MetricName with the given name, group, description, and default tags
specified in the metric configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the metric</dd>
<dd><code>group</code> - logical group name of the metrics to which this metric belongs</dd>
<dd><code>description</code> - A human-readable description to include in the metric</dd>
</dl>
</li>
</ul>
<a id="metricName(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricName</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group)</pre>
<div class="block">Create a MetricName with the given name, group and default tags specified in the metric configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the metric</dd>
<dd><code>group</code> - logical group name of the metrics to which this metric belongs</dd>
</dl>
</li>
</ul>
<a id="metricName(java.lang.String,java.lang.String,java.lang.String,java.lang.String...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricName</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;description,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;keyValue)</pre>
<div class="block">Create a MetricName with the given name, group, description, and keyValue as tags, plus default tags specified in the metric
configuration. Tag in keyValue takes precedence if the same tag key is specified in the default metric configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the metric</dd>
<dd><code>group</code> - logical group name of the metrics to which this metric belongs</dd>
<dd><code>description</code> - A human-readable description to include in the metric</dd>
<dd><code>keyValue</code> - additional key/value attributes of the metric (must come in pairs)</dd>
</dl>
</li>
</ul>
<a id="metricName(java.lang.String,java.lang.String,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricName</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;group,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;tags)</pre>
<div class="block">Create a MetricName with the given name, group and tags, plus default tags specified in the metric
configuration. Tag in tags takes precedence if the same tag key is specified in the default metric configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the metric</dd>
<dd><code>group</code> - logical group name of the metrics to which this metric belongs</dd>
<dd><code>tags</code> - key/value attributes of the metric</dd>
</dl>
</li>
</ul>
<a id="toHtmlTable(java.lang.String,java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toHtmlTable</h4>
<pre class="methodSignature">public static&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toHtmlTable&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;domain,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;<a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common">MetricNameTemplate</a>&gt;&nbsp;allMetrics)</pre>
<div class="block">Use the specified domain and metric name templates to generate an HTML table documenting the metrics. A separate table section
will be generated for each of the MBeans and the associated attributes. The MBean names are lexicographically sorted to
determine the order of these sections. This order is therefore dependent upon the order of the
tags in each <a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common"><code>MetricNameTemplate</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>domain</code> - the domain or prefix for the JMX MBean names; may not be null</dd>
<dd><code>allMetrics</code> - the collection of all <a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common"><code>MetricNameTemplate</code></a> instances each describing one metric; may not be null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the string containing the HTML table; never null</dd>
</dl>
</li>
</ul>
<a id="config()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>config</h4>
<pre class="methodSignature">public&nbsp;<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config()</pre>
</li>
</ul>
<a id="getSensor(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;getSensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Get the sensor with the given name if it exists</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Return the sensor or null if no such sensor exists</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Get or create a sensor with the given unique name and no parent sensors. This uses
a default recording level of INFO.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The sensor name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.Sensor.RecordingLevel)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel)</pre>
<div class="block">Get or create a sensor with the given unique name and no parent sensors and with a given
recording level.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The sensor name.</dd>
<dd><code>recordingLevel</code> - The recording level.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.Sensor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</pre>
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors. All parent sensors will
receive every value recorded with this sensor. This uses a default recording level of INFO.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor</dd>
<dd><code>parents</code> - The parent sensors</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor that is created</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.Sensor.RecordingLevel,org.apache.kafka.common.metrics.Sensor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</pre>
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors. All parent sensors will
receive every value recorded with this sensor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor.</dd>
<dd><code>parents</code> - The parent sensors.</dd>
<dd><code>recordingLevel</code> - The recording level.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor that is created</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.Sensor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</pre>
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors. All parent sensors will
receive every value recorded with this sensor. This uses a default recording level of INFO.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor</dd>
<dd><code>config</code> - A default configuration to use for this sensor for metrics that don't have their own config</dd>
<dd><code>parents</code> - The parent sensors</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor that is created</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.Sensor.RecordingLevel,org.apache.kafka.common.metrics.Sensor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</pre>
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors. All parent sensors will
receive every value recorded with this sensor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor</dd>
<dd><code>config</code> - A default configuration to use for this sensor for metrics that don't have their own config</dd>
<dd><code>recordingLevel</code> - The recording level.</dd>
<dd><code>parents</code> - The parent sensors</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor that is created</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,long,org.apache.kafka.common.metrics.Sensor.RecordingLevel,org.apache.kafka.common.metrics.Sensor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
long&nbsp;inactiveSensorExpirationTimeSeconds,
<a href="Sensor.RecordingLevel.html" title="enum in org.apache.kafka.common.metrics">Sensor.RecordingLevel</a>&nbsp;recordingLevel,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</pre>
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors. All parent sensors will
receive every value recorded with this sensor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor</dd>
<dd><code>config</code> - A default configuration to use for this sensor for metrics that don't have their own config</dd>
<dd><code>inactiveSensorExpirationTimeSeconds</code> - If no value if recorded on the Sensor for this duration of time,
it is eligible for removal</dd>
<dd><code>parents</code> - The parent sensors</dd>
<dd><code>recordingLevel</code> - The recording level.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor that is created</dd>
</dl>
</li>
</ul>
<a id="sensor(java.lang.String,org.apache.kafka.common.metrics.MetricConfig,long,org.apache.kafka.common.metrics.Sensor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sensor</h4>
<pre class="methodSignature">public&nbsp;<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>&nbsp;sensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
long&nbsp;inactiveSensorExpirationTimeSeconds,
<a href="Sensor.html" title="class in org.apache.kafka.common.metrics">Sensor</a>...&nbsp;parents)</pre>
<div class="block">Get or create a sensor with the given unique name and zero or more parent sensors. All parent sensors will
receive every value recorded with this sensor. This uses a default recording level of INFO.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor</dd>
<dd><code>config</code> - A default configuration to use for this sensor for metrics that don't have their own config</dd>
<dd><code>inactiveSensorExpirationTimeSeconds</code> - If no value if recorded on the Sensor for this duration of time,
it is eligible for removal</dd>
<dd><code>parents</code> - The parent sensors</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The sensor that is created</dd>
</dl>
</li>
</ul>
<a id="removeSensor(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeSensor</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeSensor&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Remove a sensor (if it exists), associated metrics and its children.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the sensor to be removed</dd>
</dl>
</li>
</ul>
<a id="addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.Measurable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMetric</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addMetric&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="Measurable.html" title="interface in org.apache.kafka.common.metrics">Measurable</a>&nbsp;measurable)</pre>
<div class="block">Add a metric to monitor an object that implements measurable. This metric won't be associated with any sensor.
This is a way to expose existing values as metrics.
This method is kept for binary compatibility purposes, it has the same behaviour as
<a href="#addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricValueProvider)"><code>addMetric(MetricName, MetricValueProvider)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricName</code> - The name of the metric</dd>
<dd><code>measurable</code> - The measurable that will be measured by this metric</dd>
</dl>
</li>
</ul>
<a id="addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.Measurable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMetric</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addMetric&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="Measurable.html" title="interface in org.apache.kafka.common.metrics">Measurable</a>&nbsp;measurable)</pre>
<div class="block">Add a metric to monitor an object that implements Measurable. This metric won't be associated with any sensor.
This is a way to expose existing values as metrics.
This method is kept for binary compatibility purposes, it has the same behaviour as
<a href="#addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.MetricValueProvider)"><code>addMetric(MetricName, MetricConfig, MetricValueProvider)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricName</code> - The name of the metric</dd>
<dd><code>config</code> - The configuration to use when measuring this measurable</dd>
<dd><code>measurable</code> - The measurable that will be measured by this metric</dd>
</dl>
</li>
</ul>
<a id="addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricConfig,org.apache.kafka.common.metrics.MetricValueProvider)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMetric</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addMetric&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="MetricConfig.html" title="class in org.apache.kafka.common.metrics">MetricConfig</a>&nbsp;config,
<a href="MetricValueProvider.html" title="interface in org.apache.kafka.common.metrics">MetricValueProvider</a>&lt;?&gt;&nbsp;metricValueProvider)</pre>
<div class="block">Add a metric to monitor an object that implements MetricValueProvider. This metric won't be associated with any
sensor. This is a way to expose existing values as metrics. User is expected to add any additional
synchronization to update and access metric values, if required.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricName</code> - The name of the metric</dd>
<dd><code>metricValueProvider</code> - The metric value provider associated with this metric</dd>
</dl>
</li>
</ul>
<a id="addMetric(org.apache.kafka.common.MetricName,org.apache.kafka.common.metrics.MetricValueProvider)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMetric</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addMetric&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName,
<a href="MetricValueProvider.html" title="interface in org.apache.kafka.common.metrics">MetricValueProvider</a>&lt;?&gt;&nbsp;metricValueProvider)</pre>
<div class="block">Add a metric to monitor an object that implements MetricValueProvider. This metric won't be associated with any
sensor. This is a way to expose existing values as metrics. User is expected to add any additional
synchronization to update and access metric values, if required.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricName</code> - The name of the metric</dd>
<dd><code>metricValueProvider</code> - The metric value provider associated with this metric</dd>
</dl>
</li>
</ul>
<a id="removeMetric(org.apache.kafka.common.MetricName)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeMetric</h4>
<pre class="methodSignature">public&nbsp;<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&nbsp;removeMetric&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName)</pre>
<div class="block">Remove a metric if it exists and return it. Return null otherwise. If a metric is removed, `metricRemoval`
will be invoked for each reporter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricName</code> - The name of the metric</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the removed `KafkaMetric` or null if no such metric exists</dd>
</dl>
</li>
</ul>
<a id="addReporter(org.apache.kafka.common.metrics.MetricsReporter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addReporter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addReporter&#8203;(<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
<div class="block">Add a MetricReporter</div>
</li>
</ul>
<a id="removeReporter(org.apache.kafka.common.metrics.MetricsReporter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeReporter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeReporter&#8203;(<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
<div class="block">Remove a MetricReporter</div>
</li>
</ul>
<a id="metrics()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metrics</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>,&#8203;<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&gt;&nbsp;metrics()</pre>
<div class="block">Get all the metrics currently maintained indexed by metricName</div>
</li>
</ul>
<a id="reporters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reporters</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MetricsReporter.html" title="interface in org.apache.kafka.common.metrics">MetricsReporter</a>&gt;&nbsp;reporters()</pre>
</li>
</ul>
<a id="metric(org.apache.kafka.common.MetricName)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metric</h4>
<pre class="methodSignature">public&nbsp;<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&nbsp;metric&#8203;(<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricName)</pre>
</li>
</ul>
<a id="metricInstance(org.apache.kafka.common.MetricNameTemplate,java.lang.String...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricInstance</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricInstance&#8203;(<a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common">MetricNameTemplate</a>&nbsp;template,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;keyValue)</pre>
</li>
</ul>
<a id="metricInstance(org.apache.kafka.common.MetricNameTemplate,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricInstance</h4>
<pre class="methodSignature">public&nbsp;<a href="../MetricName.html" title="class in org.apache.kafka.common">MetricName</a>&nbsp;metricInstance&#8203;(<a href="../MetricNameTemplate.html" title="class in org.apache.kafka.common">MetricNameTemplate</a>&nbsp;template,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;tags)</pre>
</li>
</ul>
<a id="close()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()</pre>
<div class="block">Close this metrics repository.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true#close()" title="class or interface in java.lang" class="externalLink">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang" class="externalLink">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true#close()" title="class or interface in java.io" class="externalLink">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true" title="class or interface in java.io" class="externalLink">Closeable</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>