@Inherited @Documented @InterceptorBinding @Retention(value=RUNTIME) @Target(value={TYPE,CONSTRUCTOR,METHOD,ANNOTATION_TYPE}) public @interface Timed
Given a method annotated with @Timed like this:
@Timed(name = "fancyName")
public String fancyName(String name) {
return "Sir Captain " + name;
}
A timer with the fully qualified class name + fancyName
will be created and each time the
#fancyName(String)
method is invoked, the method's execution will be timed.
Given a class annotated with @Timed like this:
@Timed
public class TimedBean {
public void timedMethod1() {}
public void timedMethod2() {}
}
A timer for the defining class will be created for each of the constructors/methods.
Each time a constructor/method is invoked, the execution will be timed with the respective timer.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.NANOSECONDS
.Metadata
,
MetricUnits
Copyright © 2017. All rights reserved.