Annotation 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.


     @Produces
     @Metric(name="hitPercentage")
     @ApplicationScoped
     Gauge<Double> hitPercentage = new Gauge<Double>() {
 
       @Override
       public Double getValue() {
           return hits / total;
       }
     };
 
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Denotes whether to use the absolute name or use the default given name relative to the annotated class.
    The description of the metric.
    The display name of the metric.
    The name of the metric.
    The tags of the metric.
    The unit of the metric.
  • Element Details

    • name

      String name
      The name of the metric.
      Returns:
      The name of the metric.
      Default:
      ""
    • tags

      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:
      Default:
      {}
    • absolute

      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

      String displayName
      The display name of the metric.
      Returns:
      The display name of the metric.
      See Also:
      Default:
      ""
    • description

      String description
      The description of the metric.
      Returns:
      The description of the metric.
      See Also:
      Default:
      ""
    • unit

      String unit
      The unit of the metric.
      Returns:
      The unit of the metric. By default, the value is MetricUnits.NONE.
      See Also:
      Default:
      "none"