From 3d36a983684db39f460bc86776ad639842a96f7c Mon Sep 17 00:00:00 2001 From: David Chan Date: Mon, 13 Jun 2022 13:10:25 -0400 Subject: [PATCH] Remove references to ConcurrentGauge, SimpleTimer and Meter + Timer needs to implement Metric interface --- .../eclipse/microprofile/metrics/Timer.java | 9 ++-- .../metrics/annotation/Counted.java | 5 --- .../metrics/annotation/Timed.java | 2 - .../metrics/annotation/package-info.java | 2 +- .../microprofile/metrics/package-info.java | 44 +------------------ 5 files changed, 6 insertions(+), 56 deletions(-) diff --git a/api/src/main/java/org/eclipse/microprofile/metrics/Timer.java b/api/src/main/java/org/eclipse/microprofile/metrics/Timer.java index 2e756b55..30aae28a 100644 --- a/api/src/main/java/org/eclipse/microprofile/metrics/Timer.java +++ b/api/src/main/java/org/eclipse/microprofile/metrics/Timer.java @@ -27,14 +27,11 @@ import java.util.concurrent.Callable; /** - * A timer metric which aggregates timing durations and provides duration statistics, plus throughput statistics via - * {@link Meter}. - * - * See {@link SimpleTimer} for a lightweight alternative that only tracks elapsed time duration and count. + * A timer metric which aggregates timing durations and provides duration statistics * * The timer measures duration in nanoseconds. */ -public interface Timer extends Sampling { +public interface Timer extends Metric, Sampling { /** * A timing context. * @@ -102,6 +99,8 @@ interface Context extends Closeable { */ Duration getElapsedTime(); + long getCount(); + @Override Snapshot getSnapshot(); } diff --git a/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Counted.java b/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Counted.java index 82e87b2a..a13426e9 100644 --- a/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Counted.java +++ b/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Counted.java @@ -74,11 +74,6 @@ * * The counter value will only monotonically increase. * - *

- * Note: the default behaviour has changed in MicroProfile Metrics 2.0. To get the old @Counted(monotonic=false) - * behavior, see @{@link ConcurrentGauge} - *

- * * This annotation will throw an IllegalStateException if the constructor/method is invoked, but the metric no longer * exists in the MetricRegistry. * diff --git a/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Timed.java b/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Timed.java index 5b624ec0..f11b30ee 100644 --- a/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Timed.java +++ b/api/src/main/java/org/eclipse/microprofile/metrics/annotation/Timed.java @@ -38,8 +38,6 @@ * An annotation for marking a method, constructor, or class as timed. The underlying * {@link org.eclipse.microprofile.metrics.Timer Timer} metric aggregates timing durations and provides duration * statistics, plus throughput statistics. There is a lightweight alternative - * {@link org.eclipse.microprofile.metrics.SimpleTimer SimpleTimer} (@{@link SimplyTimed}) that only tracks elapsed time - * duration and count. The metric will be registered in the application MetricRegistry. *

* Given a method annotated with {@literal @}Timed like this: *

diff --git a/api/src/main/java/org/eclipse/microprofile/metrics/annotation/package-info.java b/api/src/main/java/org/eclipse/microprofile/metrics/annotation/package-info.java index a239f72d..c9804d59 100644 --- a/api/src/main/java/org/eclipse/microprofile/metrics/annotation/package-info.java +++ b/api/src/main/java/org/eclipse/microprofile/metrics/annotation/package-info.java @@ -86,5 +86,5 @@ * * */ -@org.osgi.annotation.versioning.Version("4.0") +@org.osgi.annotation.versioning.Version("5.0") package org.eclipse.microprofile.metrics.annotation; diff --git a/api/src/main/java/org/eclipse/microprofile/metrics/package-info.java b/api/src/main/java/org/eclipse/microprofile/metrics/package-info.java index 1e998961..140f78b6 100644 --- a/api/src/main/java/org/eclipse/microprofile/metrics/package-info.java +++ b/api/src/main/java/org/eclipse/microprofile/metrics/package-info.java @@ -54,20 +54,6 @@ * * * - *

- * {@link org.eclipse.microprofile.metrics.ConcurrentGauge ConcurrentGauge} is used to monitor the number of concurrent - * invocations of a component. - *

- * Example usage: - * - *

- * 
- *     ConcurrentGauge cgauge = metricRegistry.concurrentGauge(metadata);
- *     cgauge.inc();
- *     // .. a block of code that can be executed by multiple threads at the same time
- *     cgauge.dec();
- * 
- * 
* * {@link org.eclipse.microprofile.metrics.Gauge Gauge} is used to provide the immediate measurement of a value. *

@@ -84,19 +70,6 @@ * * * - * - * {@link org.eclipse.microprofile.metrics.Meter Meter} is used to measure the frequency of an event. - *

- * Example usage: - * - *

- * 
- *     Meter meter = metricRegistry.meter(metadata);
- *     meter.mark();
- * 
- * 
- * - * * {@link org.eclipse.microprofile.metrics.Histogram Histogram} is used to sample and compute the distribution of values *

* Example usage: @@ -123,21 +96,6 @@ * context.close(); * * - * - * {@link org.eclipse.microprofile.metrics.SimpleTimer SimpleTimer} is used to measure the duration of an event. - *

- * Example usage: - * - *

- * 
- *     SimpleTimer simpleTimer = metricRegistry.simpleTimer(metadata);
- *     SimpleTimer.Context context = simpleTimer.time();
- *
- *     ... // code that will be timed
- *
- *     context.close();
- * 
- * 
*/ -@org.osgi.annotation.versioning.Version("3.0") +@org.osgi.annotation.versioning.Version("5.0") package org.eclipse.microprofile.metrics;