blob: 88cc21a1fa8e608e662db3e44818036f6aeaca1e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181-google-v7) on Wed Aug 14 17:37:12 PDT 2019 -->
<title>Metrics (Apache Beam 2.15.0-SNAPSHOT)</title>
<meta name="date" content="2019-08-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Metrics (Apache Beam 2.15.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="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">
<li><a href="../../../../../org/apache/beam/sdk/metrics/MetricResults.html" title="class in org.apache.beam.sdk.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/metrics/MetricsContainer.html" title="interface in org.apache.beam.sdk.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/metrics/Metrics.html" target="_top">Frames</a></li>
<li><a href="Metrics.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.metrics</div>
<h2 title="Class Metrics" class="title">Class Metrics</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.metrics.Metrics</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html" title="annotation in org.apache.beam.sdk.annotations">@Experimental</a>(<a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html#value--">value</a>=<a href="../../../../../org/apache/beam/sdk/annotations/Experimental.Kind.html#METRICS">METRICS</a>)
public class <span class="typeNameLabel">Metrics</span>
extends java.lang.Object</pre>
<div class="block">The <code>Metrics</code> is a utility class for producing various kinds of metrics for reporting
properties of an executing pipeline.
<p>Metrics are created by calling one of the static methods in this class. Each metric is
associated with a namespace and a name. The namespace allows grouping related metrics together
based on the definition while also disambiguating common names based on where they are defined.
<p>Reported metrics are implicitly scoped to the transform within the pipeline that reported
them. This allows reporting the same metric name in multiple places and identifying the value
each transform reported, as well as aggregating the metric across
<p>It is runner-dependent whether Metrics are accessible during pipeline execution or only after
jobs have completed.
<p>Example:
<pre><code> class SomeDoFn extends DoFn&lt;String, String&gt; {
private Counter counter = Metrics.counter(SomeDoFn.class, "my-counter");
@ProcessElement
public void processElement(ProcessContext c) {
counter.inc();
Metrics.counter(SomeDoFn.class, "my-counter2").inc();
}
}</code></pre>
<p>See <a href="../../../../../org/apache/beam/sdk/metrics/MetricResults.html" title="class in org.apache.beam.sdk.metrics"><code>MetricResults</code></a> (available from the <code>PipelineResults</code> interface) for an
example off how to query metrics.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/beam/sdk/metrics/Counter.html" title="interface in org.apache.beam.sdk.metrics">Counter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/metrics/Metrics.html#counter-java.lang.Class-java.lang.String-">counter</a></span>(java.lang.Class&lt;?&gt;&nbsp;namespace,
java.lang.String&nbsp;name)</code>
<div class="block">Create a metric that can be incremented and decremented, and is aggregated by taking the sum.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/beam/sdk/metrics/Counter.html" title="interface in org.apache.beam.sdk.metrics">Counter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/metrics/Metrics.html#counter-java.lang.String-java.lang.String-">counter</a></span>(java.lang.String&nbsp;namespace,
java.lang.String&nbsp;name)</code>
<div class="block">Create a metric that can be incremented and decremented, and is aggregated by taking the sum.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/beam/sdk/metrics/Distribution.html" title="interface in org.apache.beam.sdk.metrics">Distribution</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/metrics/Metrics.html#distribution-java.lang.Class-java.lang.String-">distribution</a></span>(java.lang.Class&lt;?&gt;&nbsp;namespace,
java.lang.String&nbsp;name)</code>
<div class="block">Create a metric that records various statistics about the distribution of reported values.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/beam/sdk/metrics/Distribution.html" title="interface in org.apache.beam.sdk.metrics">Distribution</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/metrics/Metrics.html#distribution-java.lang.String-java.lang.String-">distribution</a></span>(java.lang.String&nbsp;namespace,
java.lang.String&nbsp;name)</code>
<div class="block">Create a metric that records various statistics about the distribution of reported values.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/beam/sdk/metrics/Gauge.html" title="interface in org.apache.beam.sdk.metrics">Gauge</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/metrics/Metrics.html#gauge-java.lang.Class-java.lang.String-">gauge</a></span>(java.lang.Class&lt;?&gt;&nbsp;namespace,
java.lang.String&nbsp;name)</code>
<div class="block">Create a metric that can have its new value set, and is aggregated by taking the last reported
value.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/beam/sdk/metrics/Gauge.html" title="interface in org.apache.beam.sdk.metrics">Gauge</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/metrics/Metrics.html#gauge-java.lang.String-java.lang.String-">gauge</a></span>(java.lang.String&nbsp;namespace,
java.lang.String&nbsp;name)</code>
<div class="block">Create a metric that can have its new value set, and is aggregated by taking the last reported
value.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="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>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="counter-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>counter</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/beam/sdk/metrics/Counter.html" title="interface in org.apache.beam.sdk.metrics">Counter</a>&nbsp;counter(java.lang.String&nbsp;namespace,
java.lang.String&nbsp;name)</pre>
<div class="block">Create a metric that can be incremented and decremented, and is aggregated by taking the sum.</div>
</li>
</ul>
<a name="counter-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>counter</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/beam/sdk/metrics/Counter.html" title="interface in org.apache.beam.sdk.metrics">Counter</a>&nbsp;counter(java.lang.Class&lt;?&gt;&nbsp;namespace,
java.lang.String&nbsp;name)</pre>
<div class="block">Create a metric that can be incremented and decremented, and is aggregated by taking the sum.</div>
</li>
</ul>
<a name="distribution-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distribution</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/beam/sdk/metrics/Distribution.html" title="interface in org.apache.beam.sdk.metrics">Distribution</a>&nbsp;distribution(java.lang.String&nbsp;namespace,
java.lang.String&nbsp;name)</pre>
<div class="block">Create a metric that records various statistics about the distribution of reported values.</div>
</li>
</ul>
<a name="distribution-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distribution</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/beam/sdk/metrics/Distribution.html" title="interface in org.apache.beam.sdk.metrics">Distribution</a>&nbsp;distribution(java.lang.Class&lt;?&gt;&nbsp;namespace,
java.lang.String&nbsp;name)</pre>
<div class="block">Create a metric that records various statistics about the distribution of reported values.</div>
</li>
</ul>
<a name="gauge-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>gauge</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/beam/sdk/metrics/Gauge.html" title="interface in org.apache.beam.sdk.metrics">Gauge</a>&nbsp;gauge(java.lang.String&nbsp;namespace,
java.lang.String&nbsp;name)</pre>
<div class="block">Create a metric that can have its new value set, and is aggregated by taking the last reported
value.</div>
</li>
</ul>
<a name="gauge-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>gauge</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/beam/sdk/metrics/Gauge.html" title="interface in org.apache.beam.sdk.metrics">Gauge</a>&nbsp;gauge(java.lang.Class&lt;?&gt;&nbsp;namespace,
java.lang.String&nbsp;name)</pre>
<div class="block">Create a metric that can have its new value set, and is aggregated by taking the last reported
value.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="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">
<li><a href="../../../../../org/apache/beam/sdk/metrics/MetricResults.html" title="class in org.apache.beam.sdk.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/metrics/MetricsContainer.html" title="interface in org.apache.beam.sdk.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/metrics/Metrics.html" target="_top">Frames</a></li>
<li><a href="Metrics.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>