anchor.diff:  [[app-metrics-api]]
   == Application Metrics Programming Model
   
  -Microprofile Health provides a way to register Application-specific metrics to allow applications to expose metrics in
  +Microprofile Metrics provides a way to register Application-specific metrics to allow applications to expose metrics in
   the _application_ scope (see <<_scopes>> for the description of scopes).
   
   Metrics and their metadata are added to a _Metric Registry_ upon definition and can afterwards have their values set
  
positive.code: All annotations (Except `RegistryType`) have the following fields that correspond to the metadata fields described
  in <<meta-data-def>>.
  
  `String name`::  the name of the metric. If not explicitly given it is determined from the annotated object and the
  fully qualified name of the surrounding class, unless `absolute` is true.
  `boolean absolute`:: If `true` use the given name as an absolute name. If `false`, use the given name relative to
  the annotated class
  `String displayName`:: Optionally provide a human readable display name for metadata.
  `String description`:: Optionally provide a description of the metric.
  `MetricUnit unit:: Unit of the metric
  `String[] tags`:: Array of Strings in the `<key>=<value>` format to supply special tags to a metric.
  
  NOTE:: Implementors are encouraged to issue warnings in the server log if metadata is missing. While this is
  less important for description and displayName, it is very important for Units.
  
  
  === Metric Registry
  
  
  === Java API Classes
  
negative.code: The following Annotations exist, see below for common fields:
  
  @Counted::
      An annotation for marking a method, constructor, or type as a counter.
  @Gauge::
      An annotation for marking a method of field as a gauge.
  @Metered::
      An annotation for marking a constructor or method as metered. The meter counts the invocations
      of the constructor or method.
  @Timed::
      An annotation for marking a constructor or method of an annotated object as timed.
      The metric of type Timer records the time it took to invoke the annotated object.
  
  @Metric::
      An annotation requesting that a metric should be injected. This annotation can be used on the fields of type `Meter`, `Timer`, `Counter`, and `Histogram`.
  
  @RegistryType::
      Qualifies the type of Metric Registry to inject. Default is _application_ (scope).
  
  