Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.yammer.metrics.annotation;
 
An annotation for marking a method of a Guice-provided object as metered.

Given a method like this:


     \@ExceptionMetered(name = "fancyName", eventType = "namings", rateUnit = TimeUnit.SECONDS,
 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.

By default, the annotation default to capturing all exceptions (subclasses of java.lang.Exception) and will use the default event-type of "exceptions".

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 fancyNameExceptionMetric will be created with event-type named "exceptions". The meter will be marked every time an exception is thrown.

public @interface ExceptionMetered {
    
The default suffix for meter names.
    String DEFAULT_NAME_SUFFIX = "Exceptions";

    
The group of the timer. If not specified, the meter will be given a group based on the package.
    String group() default "";

    
The type of the timer. If not specified the meter will be given a type based on the class name.
    String type() default "";

    
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".
    String name() default "";

    
The name of the type of events the meter is measuring. The event type defaults to "exceptions".
    String eventType() default "exceptions";

    
The time unit of the meter's rate. Defaults to Seconds.
    TimeUnit rateUnit() default .;

    
The type of exceptions that the meter will catch and count.
    Class<? extends Throwablecause() default Exception.class;
New to GrepCode? Check out our FAQ X