We are excited to announce a new major version of KumuluzEE Metrics - 3.0.0. This release implements the MicroProfile Metrics 3.0 and introduces a number of breaking changes.
Everything related to reusability is now gone. All metrics are now considered reusable. This reduces complexity and keeps things simple. CDI produces annotated with @Metric
now no longer trigger metric registration - these metrics should now be registered manually.
The MetricRegistry API has changed. It is no longer abstract class
but interface
and a number of helper methods have been added (see the MicroProfile specification for more details). The Timer.update
method signature has been changed from long
+ TimeUnit
to Duration
. The Metadata
and MetadataBuilder
API has also been changed - it is now more consistent regarding the Optional
class usage.
There were also some additions to metric types. Histograms now track sum - the total of all submitted values and Timer exposes the total elapsed time. Simple Timer also received updates and now tracks the highest and lowest duration of the previous minute. These additions are exposed in both the Prometheus (OpenMetrics) and JSON format.
The extension has also been updated to the new core (KumuluzEE 4) and supports Java 17 and 18. Since KumuluzEE 4 drops support for Java 1.8, the support was also removed in KumuluzEE Metrics 3.0.0
Features
- Removed
reusable
from annotations - Added sum to Histogram
- Added total elapsed time to Timer
- Added min and max in previous completed minute to Simple Timer
Enhancements
- KumuluzEE Config MP is no longer required dependency but optional
- Implemented breaking changes from the MicroProfile Metrics spec on
MetricRegistry
,Metadata
andMetadataBuilder
- Cleaned up and improved readability
Bugs
- Added support for the CDI
@Stereotype
annotation