blob: 747b3c1dbe2a7b683f768db32e431a34a1affdfb [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.9.1) on Fri Sep 09 19:30:40 KST 2022 -->
<title>MetricStore (Nemo Project 0.4 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-09">
<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.5.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="MetricStore (Nemo Project 0.4 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9,"i9":10,"i10":10,"i11":10};
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="class-use/MetricStore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<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.nemo.runtime.master.metric</a></div>
<h2 title="Class MetricStore" class="title">Class MetricStore</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.nemo.runtime.master.metric.MetricStore</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public final class <span class="typeNameLabel">MetricStore</span>
extends java.lang.Object</pre>
<div class="block">MetricStore stores metric data which will be used by web visualize interface, logging, and so on.
All metric classes should be JSON-serializable by <code>ObjectMapper</code>.</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="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="#dumpAllMetricToFile(java.lang.String)">dumpAllMetricToFile</a></span>&#8203;(java.lang.String&nbsp;filePath)</code></th>
<td class="colLast">
<div class="block">Same as dumpAllMetricToJson(), but this will save it to the file.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dumpAllMetricToJson()">dumpAllMetricToJson</a></span>()</code></th>
<td class="colLast">
<div class="block">Dumps JSON-serialized string of all stored metric.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dumpMetricToJson(java.lang.Class)">dumpMetricToJson</a></span>&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass)</code></th>
<td class="colLast">
<div class="block">Dumps JSON-serialized string of specific metric.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>java.lang.Class&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMetricClassByName(java.lang.String)">getMetricClassByName</a></span>&#8203;(java.lang.String&nbsp;className)</code></th>
<td class="colLast">
<div class="block">Get the metric class by its name.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>java.util.Map&lt;java.lang.String,&#8203;java.lang.Object&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMetricMap(java.lang.Class)">getMetricMap</a></span>&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass)</code></th>
<td class="colLast">
<div class="block">Fetch metric map by its metric class instance.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMetricWithId(java.lang.Class,java.lang.String)">getMetricWithId</a></span>&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass,
java.lang.String&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Fetch metric by its metric class instance and its id.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOrCreateMetric(java.lang.Class,java.lang.String)">getOrCreateMetric</a></span>&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass,
java.lang.String&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Same as getMetricWithId(), but if there is no such metric, it will try to create new metric object
using its constructor, which takes an id as a parameter.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="MetricStore.html" title="class in org.apache.nemo.runtime.master.metric">MetricStore</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStore()">getStore</a></span>()</code></th>
<td class="colLast">
<div class="block">Getter for singleton instance.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="MetricStore.html" title="class in org.apache.nemo.runtime.master.metric">MetricStore</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newInstance()">newInstance</a></span>()</code></th>
<td class="colLast">
<div class="block">Static class for creating a new instance.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putMetric(T)">putMetric</a></span>&#8203;(T&nbsp;metric)</code></th>
<td class="colLast">
<div class="block">Store a metric object.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#saveOptimizationMetricsToDB(java.lang.String,java.lang.String,java.lang.String,java.lang.String)">saveOptimizationMetricsToDB</a></span>&#8203;(java.lang.String&nbsp;address,
java.lang.String&nbsp;jobId,
java.lang.String&nbsp;dbId,
java.lang.String&nbsp;dbPasswd)</code></th>
<td class="colLast">
<div class="block">Save the job metrics for the optimization to the DB, in the form of LibSVM, to a remote DB, if applicable.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;<br>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#triggerBroadcast(java.lang.Class,java.lang.String)">triggerBroadcast</a></span>&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass,
java.lang.String&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Send changed metric data to <a href="MetricBroadcaster.html" title="class in org.apache.nemo.runtime.master.metric"><code>MetricBroadcaster</code></a>, which will broadcast it to
all active WebSocket sessions.</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.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="getStore()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStore</h4>
<pre class="methodSignature">public static&nbsp;<a href="MetricStore.html" title="class in org.apache.nemo.runtime.master.metric">MetricStore</a>&nbsp;getStore()</pre>
<div class="block">Getter for singleton instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>MetricStore object.</dd>
</dl>
</li>
</ul>
<a id="newInstance()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newInstance</h4>
<pre class="methodSignature">public static&nbsp;<a href="MetricStore.html" title="class in org.apache.nemo.runtime.master.metric">MetricStore</a>&nbsp;newInstance()</pre>
<div class="block">Static class for creating a new instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new MetricStore instance.</dd>
</dl>
</li>
</ul>
<a id="getMetricClassByName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricClassByName</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;java.lang.Class&lt;T&gt;&nbsp;getMetricClassByName&#8203;(java.lang.String&nbsp;className)</pre>
<div class="block">Get the metric class by its name.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - type of the metric.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>className</code> - the name of the class.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the class of the type of the metric.</dd>
</dl>
</li>
</ul>
<a id="putMetric(org.apache.nemo.runtime.common.metric.Metric)">
<!-- -->
</a><a id="putMetric(T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putMetric</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;void&nbsp;putMetric&#8203;(T&nbsp;metric)</pre>
<div class="block">Store a metric object. Metric object should implement <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric"><code>Metric</code></a> interface.
This method will store a metric into a <code>Map</code>, which have metric's id as its key.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - class of metric</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metric</code> - metric object.</dd>
</dl>
</li>
</ul>
<a id="getMetricWithId(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricWithId</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;T&nbsp;getMetricWithId&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass,
java.lang.String&nbsp;id)</pre>
<div class="block">Fetch metric by its metric class instance and its id.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - class of metric</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricClass</code> - class instance of metric.</dd>
<dd><code>id</code> - metric id, which can be fetched by getPlanId() method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a metric object.</dd>
</dl>
</li>
</ul>
<a id="getMetricMap(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetricMap</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.Object&gt;&nbsp;getMetricMap&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass)</pre>
<div class="block">Fetch metric map by its metric class instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - class of metric</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricClass</code> - class instance of metric.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a metric object.</dd>
</dl>
</li>
</ul>
<a id="getOrCreateMetric(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrCreateMetric</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;T&nbsp;getOrCreateMetric&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass,
java.lang.String&nbsp;id)</pre>
<div class="block">Same as getMetricWithId(), but if there is no such metric, it will try to create new metric object
using its constructor, which takes an id as a parameter.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - class of metric</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricClass</code> - class of metric.</dd>
<dd><code>id</code> - metric id, which can be fetched by getPlanId() method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a metric object. If there was no such metric, newly create one.</dd>
</dl>
</li>
</ul>
<a id="dumpMetricToJson(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpMetricToJson</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;java.lang.String&nbsp;dumpMetricToJson&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass)
throws java.io.IOException</pre>
<div class="block">Dumps JSON-serialized string of specific metric.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - type of the metric to dump</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricClass</code> - class of metric.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>dumped JSON string of all metric.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - when failed to write json.</dd>
</dl>
</li>
</ul>
<a id="dumpAllMetricToJson()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpAllMetricToJson</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;dumpAllMetricToJson()
throws java.io.IOException</pre>
<div class="block">Dumps JSON-serialized string of all stored metric.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>dumped JSON string of all metric.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - when failed to write file.</dd>
</dl>
</li>
</ul>
<a id="dumpAllMetricToFile(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpAllMetricToFile</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;dumpAllMetricToFile&#8203;(java.lang.String&nbsp;filePath)</pre>
<div class="block">Same as dumpAllMetricToJson(), but this will save it to the file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filePath</code> - path to dump JSON.</dd>
</dl>
</li>
</ul>
<a id="saveOptimizationMetricsToDB(java.lang.String,java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveOptimizationMetricsToDB</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;saveOptimizationMetricsToDB&#8203;(java.lang.String&nbsp;address,
java.lang.String&nbsp;jobId,
java.lang.String&nbsp;dbId,
java.lang.String&nbsp;dbPasswd)</pre>
<div class="block">Save the job metrics for the optimization to the DB, in the form of LibSVM, to a remote DB, if applicable.
The metrics are as follows: the JCT (duration), and the IR DAG execution properties.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - Address to the DB.</dd>
<dd><code>jobId</code> - Job ID, of which we record the metrics.</dd>
<dd><code>dbId</code> - the ID of the DB.</dd>
<dd><code>dbPasswd</code> - the Password to the DB.</dd>
</dl>
</li>
</ul>
<a id="triggerBroadcast(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>triggerBroadcast</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="../../common/metric/Metric.html" title="interface in org.apache.nemo.runtime.common.metric">Metric</a>&gt;&nbsp;void&nbsp;triggerBroadcast&#8203;(java.lang.Class&lt;T&gt;&nbsp;metricClass,
java.lang.String&nbsp;id)</pre>
<div class="block">Send changed metric data to <a href="MetricBroadcaster.html" title="class in org.apache.nemo.runtime.master.metric"><code>MetricBroadcaster</code></a>, which will broadcast it to
all active WebSocket sessions. This method should be called manually if you want to
send changed metric data to the frontend client. Also this method is synchronized.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - type of the metric to broadcast</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metricClass</code> - class of the metric.</dd>
<dd><code>id</code> - id of the metric.</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="class-use/MetricStore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<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>
<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>