= Apache Geronimo Metrics
:jbake-date: 2018-07-24
:icons: font

Apache Geronimo Metrics is an implementation of Microprofile Metrics.
It is highly inspired from Codehale/Dropwizard metrics API and integrates with CDI.

== Dependencies

=== API

[source,xml]
----
<dependency>
  <groupId>org.eclipse.microprofile.metrics</groupId>
  <artifactId>microprofile-metrics-api</artifactId>
  <version>1.1</version>
  <exclusions>
    <exclusion>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.annotation.versioning</artifactId>
    </exclusion>
  </exclusions>
</dependency>
----

=== Implementation

[source,xml]
----
<dependency>
  <groupId>org.apache.geronimo</groupId>
  <artifactId>geronimo-metrics</artifactId>
  <version>1.0.0</version>
</dependency>
----
