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
  */