@Inherited @Documented @InterceptorBinding @Retention(value=RUNTIME) @Target(value={TYPE,CONSTRUCTOR,METHOD,ANNOTATION_TYPE}) public @interface SimplyTimed
SimpleTimer metric tracks elapsed time duration and count. This
is a lightweight alternative to timer (@Timed). The metric
will be registered in the application MetricRegistry.
Given a method annotated with @SimplyTimed like this:
@SimplyTimed(name = "fancyName")
public String fancyName(String name) {
return "Sir Captain " + name;
}
A simple 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 @SimplyTimed like this:
@SimplyTimed
public class SimplyTimedBean {
public void simplyTimedMethod1() {}
public void simplyTimedMethod2() {}
}
A simple 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 simple timer.
This annotation will throw an IllegalStateException if the constructor/method is invoked, but the metric no longer
exists in the MetricRegistry.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,
MetricUnitsCopyright © 2017 – 2021 Eclipse Foundation. All rights reserved.
Use is subject to license terms.