@Retention(value=RUNTIME) @Target(value=METHOD) public @interface ExceptionMetered
\@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.public abstract String name
public abstract boolean absolute
true
, use the given name an as absolute name. If false
, use the given name
relative to the annotated class.Copyright © 2013. All rights reserved.