@Inherited @Documented @InterceptorBinding @Retention(value=RUNTIME) @Target(value={TYPE,CONSTRUCTOR,METHOD,ANNOTATION_TYPE}) public @interface Counted
Given a method annotated with @Counted like this:
@Counted(name = "fancyName")
public String fancyName(String name) {
return "Sir Captain " + name;
}
A counter with the fully qualified class name + fancyName will be created and each time the
#fancyName(String) method is invoked, the counter will be marked. Similarly, the same applies for a
constructor annotated with counted.
Given a class annotated with @Counted like this:
@Counted
public class CounterBean {
public void countMethod1() {}
public void countMethod2() {}
}
A counter for the defining class will be created for each of the constructors/methods. Each time the
constructor/method is invoked, the respective counter will be marked.
The counter value will only monotonically increase.
This annotation will throw an IllegalStateException if the constructor/method is invoked, but the metric no longer
exists in the MetricRegistry.| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
absolute
Denotes whether to use the absolute name or use the default given name relative to the annotated class.
|
String |
description
The description of the counter.
|
String |
name
The name of the counter.
|
String |
scope
The scope that this counter belongs to.
|
String[] |
tags
The tags of the counter.
|
String |
unit
The unit of the counter.
|
public abstract String name
public abstract boolean absolute
true, use the given name as an absolute name. If false (default), use the given name
relative to the annotated class. When annotating a class, this must be false.public abstract String unit
MetricUnits.NONE.Metadata,
MetricUnitspublic abstract String scope
MetricRegistry.APPLICATION_SCOPE.Copyright © 2017 – 2022 Eclipse Foundation. All rights reserved.
Use is subject to license terms.