Package org.eclipse.microprofile.metrics.annotation

This package contains the annotations used for MicroProfile Metrics.

Metric Annotation

The Metric annotation is used to provide metadata for the metric being injected. If a metric with the same name exists in the MetricRegistry, the metric is returned. Otherwise, a new metric is registered into the MetricRegistry along with the metadata provided by the @Metric annotation.

For example,

     @Metric(name="histogram", description="The description")
     public Histogram histogram;

Interceptor Bindings

MicroProfile Metrics provides interceptor bindings which can be used to instrument an application: @Counted, @Gauge, @Metered, @Timed, @SimplyTimed and @ConcurrentGauge.

An example using @Counted,

     @Counted (name="visitorCount",
         description="The number of visitors to the application")
     public void visit () {

An example using @Gauge,

     @Gauge(name = "queueSize")
     public int getQueueSize() {
         return queue.size;

CDI Qualifier

The RegistryType is used to identify which MetricRegistry (Application, Base, or Vendor) should be injected. By default, no RegistryType will inject the application MetricRegistry.

      MetricRegistry baseRegistry;