anchor.diff:  Counter count;
   ----
   
  +
   ===== METHOD
   
  -<TO DO>
  +When a metric producer method is annotated, the implementation must register the metric produced by the method using the <<annotated-naming-convention>>.
  +
  +.Example of a producer method
  +[source, java]
  +----
  +@Produces
  +@Metric(name = "hitPercentage")
  +@ApplicationScoped
  +protected Gauge<Double> createHitPercentage() {
  +    return new Gauge<Double>() {
  +
  +      @Override
  +      public Double getValue() {
  +          return hits / total;
  +      }
  +    };
  +}
  +----
   
   ===== PARAMETER
  -<TO DO>
  -
  +When a metric parameter is annotated, the implementation must provide the registered metric with the given name (using the <<annotated-naming-convention>>) if the metric already exist. If no metric exists with the given name then the implementation must produce and register the requested metric.
  +
  +.Example of an annotated parameter
  +[source, java]
  +----
  +@Inject
  +public void init(@Metric(name="instances") Counter instances) {
  +    instances.inc();
  +}
  +----
   
   [[metric-registries]]
   === Metric Registries
  
positive.code: ----
  
  ==== @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`.
  
  The implementation must support the following annotation targets:
  
  
negative.code: 
  |@Counted | M, C, T | Denotes a counter, which counts the invocations of the annotated object. | MetricUnit.NONE
  |@Gauge   | M, F | Denotes a gauge, which samples the value of the annotated object.  | _none_ Must be supplied by the user
  |@Metered | M, C, T  | Denotes a meter, which tracks the frequency of invocations of the annotated object. | MetricUnit.PER_SECOND
  |@Metric  | M, F, P | An annotation requesting that a metric should be injected. This annotation can be used on the fields
      of type `Meter`, `Timer`, `Counter`, and `Histogram`. | MetricUnit.NONE
  |@Timed   | M, C, T | Denotes a timer, which tracks duration of the annotated object. | MetricUnit.NANOSECONDS
  |===
  (C=Constructor, F=Field, M=Method, P=Parameter, T=Type)
  
  