Package com.codahale.metrics.annotation
Annotation Type ExceptionMetered
@Inherited
@Documented
@Retention(RUNTIME)
@Target({TYPE,CONSTRUCTOR,METHOD,ANNOTATION_TYPE})
public @interface ExceptionMetered
An annotation for marking a method of an annotated object as metered.
Given a method like this:
@ExceptionMetered(name = "fancyName", cause=IllegalArgumentException.class)
public String fancyName(String name) {
return "Sir Captain " + name;
}
A meter for the defining class with the name fancyName
will be created and each time the
#fancyName(String)
throws an exception of type cause
(or a subclass), the meter
will be marked.
A name for the metric can be specified as an annotation parameter, otherwise, the metric will be named based on the method name.
For instance, given a declaration of
@ExceptionMetered
public String fancyName(String name) {
return "Sir Captain " + name;
}
A meter named fancyName.exceptions
will be created and marked every time an exception is
thrown.
-
Optional Element Summary
-
Field Summary
-
Field Details
-
DEFAULT_NAME_SUFFIX
The default suffix for meter names.- See Also:
-
-
Element Details
-
name
String name- Returns:
- The name of the meter. If not specified, the meter will be given a name based on the method it decorates and the suffix "Exceptions".
- Default:
- ""
-
absolute
boolean absolute- Returns:
- If
true
, use the given name as an absolute name. Iffalse
, use the given name relative to the annotated class. When annotating a class, this must befalse
.
- Default:
- false
-
cause
- Returns:
- The type of exceptions that the meter will catch and count.
- Default:
- java.lang.Exception.class
-