SLING-4080 - API to capture/measure application-level metrics
Update javadocs
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1723461 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/commons/metrics/Counter.java b/src/main/java/org/apache/sling/commons/metrics/Counter.java
index a4b317a..9f4f062 100644
--- a/src/main/java/org/apache/sling/commons/metrics/Counter.java
+++ b/src/main/java/org/apache/sling/commons/metrics/Counter.java
@@ -21,6 +21,9 @@
import aQute.bnd.annotation.ProviderType;
+/**
+ * An incrementing and decrementing counter metric.
+ */
@ProviderType
public interface Counter extends Counting, Metric{
/**
diff --git a/src/main/java/org/apache/sling/commons/metrics/Histogram.java b/src/main/java/org/apache/sling/commons/metrics/Histogram.java
index 3d1e082..7f87cdc 100644
--- a/src/main/java/org/apache/sling/commons/metrics/Histogram.java
+++ b/src/main/java/org/apache/sling/commons/metrics/Histogram.java
@@ -21,6 +21,9 @@
import aQute.bnd.annotation.ProviderType;
+/**
+ * A metric which calculates the distribution of a value.
+ */
@ProviderType
public interface Histogram extends Counting, Metric {
/**
diff --git a/src/main/java/org/apache/sling/commons/metrics/Meter.java b/src/main/java/org/apache/sling/commons/metrics/Meter.java
index e239c54..3fef3f8 100644
--- a/src/main/java/org/apache/sling/commons/metrics/Meter.java
+++ b/src/main/java/org/apache/sling/commons/metrics/Meter.java
@@ -21,6 +21,9 @@
import aQute.bnd.annotation.ProviderType;
+/**
+ * A meter metric which measures mean throughput
+ */
@ProviderType
public interface Meter extends Counting, Metric{
/**
diff --git a/src/main/java/org/apache/sling/commons/metrics/MetricsService.java b/src/main/java/org/apache/sling/commons/metrics/MetricsService.java
index 8d2c04f..7848861 100644
--- a/src/main/java/org/apache/sling/commons/metrics/MetricsService.java
+++ b/src/main/java/org/apache/sling/commons/metrics/MetricsService.java
@@ -21,8 +21,15 @@
import aQute.bnd.annotation.ProviderType;
+/**
+ * The {@code MetricsService} enables creation of various types of {@code Metric}.
+ */
@ProviderType
public interface MetricsService {
+ /**
+ * Dummy variant of MetricsService which does not
+ * collect any metric
+ */
MetricsService NOOP = new MetricsService() {
@Override
public Timer timer(String name) {
@@ -47,6 +54,7 @@
/**
* Creates a new {@link Timer} and registers it under the given name.
+ * If a timer with same name exists then same instance is returned
*
* @param name the name of the metric
* @return a new {@link Timer}
@@ -55,6 +63,7 @@
/**
* Creates a new {@link Histogram} and registers it under the given name.
+ * If a histogram with same name exists then same instance is returned.
*
* @param name the name of the metric
* @return a new {@link Histogram}
@@ -63,6 +72,7 @@
/**
* Creates a new {@link Counter} and registers it under the given name.
+ * If a counter with same name exists then same instance is returned
*
* @param name the name of the metric
* @return a new {@link Counter}
@@ -71,6 +81,7 @@
/**
* Creates a new {@link Meter} and registers it under the given name.
+ * If a meter with same name exists then same instance is returned
*
* @param name the name of the metric
* @return a new {@link Meter}
diff --git a/src/main/java/org/apache/sling/commons/metrics/Timer.java b/src/main/java/org/apache/sling/commons/metrics/Timer.java
index a142953..8de1707 100644
--- a/src/main/java/org/apache/sling/commons/metrics/Timer.java
+++ b/src/main/java/org/apache/sling/commons/metrics/Timer.java
@@ -24,6 +24,9 @@
import aQute.bnd.annotation.ProviderType;
+/**
+ * A timer metric which aggregates timing durations and provides duration statistics.
+ */
@ProviderType
public interface Timer extends Counting, Metric{
/**
diff --git a/src/main/java/org/apache/sling/commons/metrics/package-info.java b/src/main/java/org/apache/sling/commons/metrics/package-info.java
index 1180f06..aa5623b 100644
--- a/src/main/java/org/apache/sling/commons/metrics/package-info.java
+++ b/src/main/java/org/apache/sling/commons/metrics/package-info.java
@@ -18,7 +18,7 @@
*/
/**
- * Provides configuration support for the Logback based logging in Sling
+ * Provides an API to generate and collect metrics in various forms
*
* @version 1.0
*/