blob: 9fcb97254940b13a4b8c5cac88ec51cfb00fedfd [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>
<title>Metric</title>
<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="Metric";
}
}
catch(err) {
}
//-->
</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/eclipse/microprofile/metrics/annotation/Metered.html" title="annotation in org.eclipse.microprofile.metrics.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/microprofile/metrics/annotation/RegistryType.html" title="annotation in org.eclipse.microprofile.metrics.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/microprofile/metrics/annotation/Metric.html" target="_top">Frames</a></li>
<li><a href="Metric.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</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.eclipse.microprofile.metrics.annotation</div>
<h2 title="Annotation Type Metric" class="title">Annotation Type Metric</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="../../../../../javax/interceptor/InterceptorBinding.html" title="annotation in javax.interceptor">@InterceptorBinding</a>
@Retention(value=RUNTIME)
@Target(value={METHOD,FIELD,PARAMETER,ANNOTATION_TYPE})
public @interface <span class="memberNameLabel">Metric</span></pre>
<div class="block">An annotation requesting that a metric be injected or registered.
The metric will be registered in the application MetricRegistry.
Given an injected field annotated with @Metric like this:
<pre><code>
@Inject
@Metric(name="histogram")
public Histogram histogram;
</code></pre>
A meter of the field's type will be created and injected into managed objects.
It will be up to the user to interact with the metric. This annotation
can be used on fields of type Meter, Timer, Counter, and Histogram.
<p>
This may also be used to register a metric.
</p>
<pre><code>
@Produces
@Metric(name="hitPercentage")
@ApplicationScoped
Gauge&lt;Double&gt; hitPercentage = new Gauge&lt;Double&gt;() {
@Override
public Double getValue() {
return hits / total;
}
};
</code></pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/metrics/annotation/Metric.html#absolute--">absolute</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/metrics/annotation/Metric.html#description--">description</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/metrics/annotation/Metric.html#displayName--">displayName</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/metrics/annotation/Metric.html#name--">name</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/metrics/annotation/Metric.html#tags--">tags</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/microprofile/metrics/annotation/Metric.html#unit--">unit</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="name--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the metric.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="tags--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tags</h4>
<pre>public abstract&nbsp;java.lang.String[]&nbsp;tags</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The tags of the metric. Each <code>String</code> tag must be in the form of 'key=value'. If the input is empty or does
not contain a '=' sign, the entry is ignored.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/microprofile/metrics/Metadata.html" title="class in org.eclipse.microprofile.metrics"><code>Metadata</code></a></dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="absolute--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>absolute</h4>
<pre>public abstract&nbsp;boolean&nbsp;absolute</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If <code>true</code>, use the given name as an absolute name. If <code>false</code> (default),
use the given name relative to the annotated class.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="displayName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>displayName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;displayName</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The display name of the metric.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/microprofile/metrics/Metadata.html" title="class in org.eclipse.microprofile.metrics"><code>Metadata</code></a></dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="description--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>description</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;description</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The description of the metric.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/microprofile/metrics/Metadata.html" title="class in org.eclipse.microprofile.metrics"><code>Metadata</code></a></dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="unit--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>unit</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;unit</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The unit of the metric. By default, the value is <a href="../../../../../org/eclipse/microprofile/metrics/MetricUnits.html#NONE"><code>MetricUnits.NONE</code></a>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/microprofile/metrics/Metadata.html" title="class in org.eclipse.microprofile.metrics"><code>Metadata</code></a>,
<a href="../../../../../org/eclipse/microprofile/metrics/MetricUnits.html" title="class in org.eclipse.microprofile.metrics"><code>MetricUnits</code></a></dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>"none"</dd>
</dl>
</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/eclipse/microprofile/metrics/annotation/Metered.html" title="annotation in org.eclipse.microprofile.metrics.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/microprofile/metrics/annotation/RegistryType.html" title="annotation in org.eclipse.microprofile.metrics.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/microprofile/metrics/annotation/Metric.html" target="_top">Frames</a></li>
<li><a href="Metric.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>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>