Annotation Type Timed
-
@Inherited @Documented @InterceptorBinding @Retention(RUNTIME) @Target({TYPE,CONSTRUCTOR,METHOD,ANNOTATION_TYPE}) public @interface Timed
An annotation for marking a method, constructor, or class as timed. The underlyingTimer
metric aggregates timing durations and provides duration statistics.Given a method annotated with @Timed like this:
@Timed(name = "fancyName") public String fancyName(String name) { return "Sir Captain " + 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() {} }
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element 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 timer.String
name
The name of the timer.String
scope
The scope that this Timer belongs to.String[]
tags
String
unit
The unit of the timer.
-
-
-
Element Detail
-
name
String name
The name of the timer.- Returns:
- The name of the timer.
- Default:
- ""
-
-
-
absolute
boolean absolute
Denotes whether to use the absolute name or use the default given name relative to the annotated class.- Returns:
- If
true
, use the given name as an absolute name. Iffalse
(default), use the given name relative to the annotated class. When annotating a class, this must befalse
.
- Default:
- false
-
-
-
unit
String unit
The unit of the timer.- Returns:
- The unit of the timer. By default, the value is
MetricUnits.NANOSECONDS
. - See Also:
Metadata
,MetricUnits
- Default:
- "seconds"
-
-
-
scope
String scope
The scope that this Timer belongs to.- Returns:
- The scope this Timer belongs to. By default, the value is
MetricRegistry.APPLICATION_SCOPE
.
- Default:
- "application"
-
-