org.eclipse.microprofile.metrics.annotation

## Annotation Type SimplyTimed

    @Inherited
     @Documented
     @InterceptorBinding
     @Retention(value=RUNTIME)
     @Target(value={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
`boolean` `absolute`
`String` `description`
`String` `displayName`
`String` `name`
`String[]` `tags`
`String` `unit`

### Element Detail

#### name

    public abstract String name

Returns:
  The name of the simple timer.

Default:
  ""

#### tags

    public abstract 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

    public abstract 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

    public abstract String displayName

Returns:
  The display name of the simple timer.
See Also:
  `Metadata`

Default:
  ""

#### description

    public abstract String description

Returns:
  The description of the simple timer
See Also:
  `Metadata`

Default:
  ""

#### unit

    public abstract String unit

Returns:
  The unit of the simple timer. By default, the value is `MetricUnits.NANOSECONDS`.
See Also:
  `Metadata`, `MetricUnits`

Default:
  "nanoseconds"