@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.
(See monotonic()
for how the counter will be incremented).
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.
(See monotonic()
for how the counter will be incremented)Modifier and Type | Optional Element and Description |
---|---|
boolean |
absolute |
java.lang.String |
description |
java.lang.String |
displayName |
boolean |
monotonic |
java.lang.String |
name |
boolean |
reusable
Denotes if this metric instance can be reused by multiple registrations.
|
java.lang.String[] |
tags |
java.lang.String |
unit |
public abstract java.lang.String name
public abstract java.lang.String[] tags
String
tag must be in the form of 'key=value'. If the input is empty or does
not contain a '=' sign, the entry is ignored.Metadata
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 boolean monotonic
false
(default), the counter is decremented when the annotated
method returns, counting current invocations of the annotated method.
If true
, the counter increases monotonically, counting total
invocations of the annotated method.public abstract java.lang.String displayName
Metadata
public abstract java.lang.String description
Metadata
public abstract java.lang.String unit
MetricUnits.NONE
.Metadata
,
MetricUnits