@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)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 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 String unit
MetricUnits.NONE.Metadata,
MetricUnitsCopyright © 2017. All rights reserved.