Annotation Type Metric


  • @Retention(RUNTIME)
    @Target({METHOD,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.

    
         @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 absolute
      Denotes whether to use the absolute name or use the default given name relative to the annotated class.
      java.lang.String description
      The description of the metric.
      java.lang.String displayName
      The display name of the metric.
      java.lang.String name
      The name of the metric.
      java.lang.String[] tags
      The tags of the metric.
      java.lang.String unit
      The unit of the metric.
    • Element Detail

      • name

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

        java.lang.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

        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

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

        java.lang.String description
        The description of the metric.
        Returns:
        The description of the metric.
        See Also:
        Metadata
        Default:
        ""