blob: 36b70cc7050199f98940e506cd0013122e07b181 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>MetricsReporter (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="MetricsReporter (kafka 2.8.1 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":18,"i2":6,"i3":6,"i4":6,"i5":18,"i6":18,"i7":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default 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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a 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="Interface MetricsReporter" class="title">Interface MetricsReporter</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><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>, <code><a href="../Configurable.html" title="interface in org.apache.kafka.common">Configurable</a></code>, <code><a href="../Reconfigurable.html" title="interface in org.apache.kafka.common">Reconfigurable</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="JmxReporter.html" title="class in org.apache.kafka.common.metrics">JmxReporter</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">MetricsReporter</span>
extends <a href="../Reconfigurable.html" title="interface in org.apache.kafka.common">Reconfigurable</a>, <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></pre>
<div class="block">A plugin interface to allow things to listen as new metrics are created so they can be reported.
<p>
Implement <a href="../ClusterResourceListener.html" title="interface in org.apache.kafka.common"><code>ClusterResourceListener</code></a> to receive cluster metadata once it's available. Please see the class documentation for ClusterResourceListener for more information.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default 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="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the metrics repository is closed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contextChange(org.apache.kafka.common.metrics.MetricsContext)">contextChange</a></span>&#8203;(<a href="MetricsContext.html" title="interface in org.apache.kafka.common.metrics">MetricsContext</a>&nbsp;metricsContext)</code></th>
<td class="colLast">
<div class="block">Sets the context labels for the service or library exposing metrics.</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="#init(java.util.List)">init</a></span>&#8203;(<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="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&gt;&nbsp;metrics)</code></th>
<td class="colLast">
<div class="block">This is called when the reporter is first registered to initially register all existing metrics</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="#metricChange(org.apache.kafka.common.metrics.KafkaMetric)">metricChange</a></span>&#8203;(<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&nbsp;metric)</code></th>
<td class="colLast">
<div class="block">This is called whenever a metric is updated or added</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="#metricRemoval(org.apache.kafka.common.metrics.KafkaMetric)">metricRemoval</a></span>&#8203;(<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&nbsp;metric)</code></th>
<td class="colLast">
<div class="block">This is called whenever a metric is removed</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reconfigurableConfigs()">reconfigurableConfigs</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the names of configs that may be reconfigured.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reconfigure(java.util.Map)">reconfigure</a></span>&#8203;(<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;?&gt;&nbsp;configs)</code></th>
<td class="colLast">
<div class="block">Reconfigures this instance with the given key-value pairs.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateReconfiguration(java.util.Map)">validateReconfiguration</a></span>&#8203;(<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;?&gt;&nbsp;configs)</code></th>
<td class="colLast">
<div class="block">Validates the provided configuration.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.kafka.common.Configurable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.kafka.common.<a href="../Configurable.html" title="interface in org.apache.kafka.common">Configurable</a></h3>
<code><a href="../Configurable.html#configure(java.util.Map)">configure</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="init(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre class="methodSignature">void&nbsp;init&#8203;(<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="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&gt;&nbsp;metrics)</pre>
<div class="block">This is called when the reporter is first registered to initially register all existing metrics</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metrics</code> - All currently existing metrics</dd>
</dl>
</li>
</ul>
<a id="metricChange(org.apache.kafka.common.metrics.KafkaMetric)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricChange</h4>
<pre class="methodSignature">void&nbsp;metricChange&#8203;(<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&nbsp;metric)</pre>
<div class="block">This is called whenever a metric is updated or added</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metric</code> - </dd>
</dl>
</li>
</ul>
<a id="metricRemoval(org.apache.kafka.common.metrics.KafkaMetric)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricRemoval</h4>
<pre class="methodSignature">void&nbsp;metricRemoval&#8203;(<a href="KafkaMetric.html" title="class in org.apache.kafka.common.metrics">KafkaMetric</a>&nbsp;metric)</pre>
<div class="block">This is called whenever a metric is removed</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metric</code> - </dd>
</dl>
</li>
</ul>
<a id="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">void&nbsp;close()</pre>
<div class="block">Called when the metrics repository is closed.</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>
</dl>
</li>
</ul>
<a id="reconfigurableConfigs()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reconfigurableConfigs</h4>
<pre class="methodSignature">default&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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>&gt;&nbsp;reconfigurableConfigs()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Reconfigurable.html#reconfigurableConfigs()">Reconfigurable</a></code></span></div>
<div class="block">Returns the names of configs that may be reconfigured.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Reconfigurable.html#reconfigurableConfigs()">reconfigurableConfigs</a></code>&nbsp;in interface&nbsp;<code><a href="../Reconfigurable.html" title="interface in org.apache.kafka.common">Reconfigurable</a></code></dd>
</dl>
</li>
</ul>
<a id="validateReconfiguration(java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateReconfiguration</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;validateReconfiguration&#8203;(<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;?&gt;&nbsp;configs)
throws <a href="../config/ConfigException.html" title="class in org.apache.kafka.common.config">ConfigException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Reconfigurable.html#validateReconfiguration(java.util.Map)">Reconfigurable</a></code></span></div>
<div class="block">Validates the provided configuration. The provided map contains
all configs including any reconfigurable configs that may be different
from the initial configuration. Reconfiguration will be not performed
if this method throws any exception.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Reconfigurable.html#validateReconfiguration(java.util.Map)">validateReconfiguration</a></code>&nbsp;in interface&nbsp;<code><a href="../Reconfigurable.html" title="interface in org.apache.kafka.common">Reconfigurable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../config/ConfigException.html" title="class in org.apache.kafka.common.config">ConfigException</a></code> - if the provided configs are not valid. The exception
message from ConfigException will be returned to the client in
the AlterConfigs response.</dd>
</dl>
</li>
</ul>
<a id="reconfigure(java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reconfigure</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;reconfigure&#8203;(<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;?&gt;&nbsp;configs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Reconfigurable.html#reconfigure(java.util.Map)">Reconfigurable</a></code></span></div>
<div class="block">Reconfigures this instance with the given key-value pairs. The provided
map contains all configs including any reconfigurable configs that
may have changed since the object was initially configured using
<a href="../Configurable.html#configure(java.util.Map)"><code>Configurable.configure(Map)</code></a>. This method will only be invoked if
the configs have passed validation using <a href="../Reconfigurable.html#validateReconfiguration(java.util.Map)"><code>Reconfigurable.validateReconfiguration(Map)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Reconfigurable.html#reconfigure(java.util.Map)">reconfigure</a></code>&nbsp;in interface&nbsp;<code><a href="../Reconfigurable.html" title="interface in org.apache.kafka.common">Reconfigurable</a></code></dd>
</dl>
</li>
</ul>
<a id="contextChange(org.apache.kafka.common.metrics.MetricsContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>contextChange</h4>
<pre class="methodSignature"><a href="../annotation/InterfaceStability.Evolving.html" title="annotation in org.apache.kafka.common.annotation">@Evolving</a>
default&nbsp;void&nbsp;contextChange&#8203;(<a href="MetricsContext.html" title="interface in org.apache.kafka.common.metrics">MetricsContext</a>&nbsp;metricsContext)</pre>
<div class="block">Sets the context labels for the service or library exposing metrics. This will be called before <a href="#init(java.util.List)"><code>init(List)</code></a> and may be called anytime after that.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricsContext</code> - the metric context</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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>