org.eclipse.microprofile.metrics.annotation

## Annotation Type Metric

    @Retention(value=RUNTIME)
     @Target(value={FIELD,PARAMETER,ANNOTATION_TYPE})
    public @interface Metric

An annotation requesting that a metric be injected or registered. The metric will be registered in the application MetricRegistry. Given an injected field annotated with @Metric like this:

          @Inject
          @Metric(name="histogram")
         public Histogram histogram;

A meter of the field's type will be created and injected into managed objects. It will be up to the user to interact with the metric. This annotation can be used on fields of type Meter, Timer, SimpleTimer, Counter, and Histogram.

This may also be used to register a metric.

### Optional Element Summary

Optional Elements
`boolean` `absolute` Denotes whether to use the absolute name or use the default given name relative to the annotated class.
`String` `description` The description of the metric.
`String` `displayName` The display name of the metric.
`String` `name` The name of the metric.
`String[]` `tags` The tags of the metric.
`String` `unit` The unit of the metric.

### Element Detail

#### name

    public abstract String name

The name of the metric.

Returns:
  The name of the metric.

Default:
  ""

#### tags

    public abstract String[] tags

The tags of the metric.

Returns:
  The tags of the metric. 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

Denotes whether to use the absolute name or use the default given name relative to the annotated class.

Returns:
  If `true`, use the given name as an absolute name. If `false` (default), use the given name relative to the annotated class.

Default:
  false

#### displayName

    public abstract String displayName

The display name of the metric.

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

Default:
  ""

#### description

    public abstract String description

The description of the metric.

Returns:
  The description of the metric.
See Also:
  `Metadata`

Default:
  ""

#### unit

    public abstract String unit

The unit of the metric.

Returns:
  The unit of the metric. By default, the value is `MetricUnits.NONE`.
See Also:
  `Metadata`, `MetricUnits`

Default:
  "none"