Annotation Type SimplyTimed


  • @Inherited
    @Documented
    @InterceptorBinding
    @Retention(RUNTIME)
    @Target({TYPE,CONSTRUCTOR,METHOD,ANNOTATION_TYPE})
    public @interface SimplyTimed
    An annotation for marking a method, constructor, or class as simply timed. The underlying 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.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean absolute  
      java.lang.String description  
      java.lang.String displayName  
      java.lang.String name  
      java.lang.String[] tags  
      java.lang.String unit  
    • Element Detail

      • name

        java.lang.String name
        Returns:
        The name of the simple timer.
        Default:
        ""
      • tags

        java.lang.String[] tags
        Returns:
        The tags of the simple timer. Each String tag must be in the form of 'key=value'. If the input is empty or does not contain a '=' sign, the entry is ignored.
        See Also:
        Metadata
        Default:
        {}
      • absolute

        boolean absolute
        Returns:
        If 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.
        Default:
        false
      • displayName

        java.lang.String displayName
        Returns:
        The display name of the simple timer.
        See Also:
        Metadata
        Default:
        ""
      • description

        java.lang.String description
        Returns:
        The description of the simple timer
        See Also:
        Metadata
        Default:
        ""