You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ch...@apache.org on 2016/01/07 06:09:41 UTC
svn commit: r1723461 - in
/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics:
Counter.java Histogram.java Meter.java MetricsService.java Timer.java
package-info.java
Author: chetanm
Date: Thu Jan 7 05:09:41 2016
New Revision: 1723461
URL: http://svn.apache.org/viewvc?rev=1723461&view=rev
Log:
SLING-4080 - API to capture/measure application-level metrics
Update javadocs
Modified:
sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Counter.java
sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Histogram.java
sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Meter.java
sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/MetricsService.java
sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Timer.java
sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/package-info.java
Modified: sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Counter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Counter.java?rev=1723461&r1=1723460&r2=1723461&view=diff
==============================================================================
--- sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Counter.java (original)
+++ sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Counter.java Thu Jan 7 05:09:41 2016
@@ -21,6 +21,9 @@ package org.apache.sling.commons.metrics
import aQute.bnd.annotation.ProviderType;
+/**
+ * An incrementing and decrementing counter metric.
+ */
@ProviderType
public interface Counter extends Counting, Metric{
/**
Modified: sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Histogram.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Histogram.java?rev=1723461&r1=1723460&r2=1723461&view=diff
==============================================================================
--- sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Histogram.java (original)
+++ sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Histogram.java Thu Jan 7 05:09:41 2016
@@ -21,6 +21,9 @@ package org.apache.sling.commons.metrics
import aQute.bnd.annotation.ProviderType;
+/**
+ * A metric which calculates the distribution of a value.
+ */
@ProviderType
public interface Histogram extends Counting, Metric {
/**
Modified: sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Meter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Meter.java?rev=1723461&r1=1723460&r2=1723461&view=diff
==============================================================================
--- sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Meter.java (original)
+++ sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Meter.java Thu Jan 7 05:09:41 2016
@@ -21,6 +21,9 @@ package org.apache.sling.commons.metrics
import aQute.bnd.annotation.ProviderType;
+/**
+ * A meter metric which measures mean throughput
+ */
@ProviderType
public interface Meter extends Counting, Metric{
/**
Modified: sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/MetricsService.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/MetricsService.java?rev=1723461&r1=1723460&r2=1723461&view=diff
==============================================================================
--- sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/MetricsService.java (original)
+++ sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/MetricsService.java Thu Jan 7 05:09:41 2016
@@ -21,8 +21,15 @@ package org.apache.sling.commons.metrics
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 @@ public interface MetricsService {
/**
* 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 @@ public interface MetricsService {
/**
* 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 @@ public interface MetricsService {
/**
* 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 @@ public interface MetricsService {
/**
* 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}
Modified: sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Timer.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Timer.java?rev=1723461&r1=1723460&r2=1723461&view=diff
==============================================================================
--- sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Timer.java (original)
+++ sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/Timer.java Thu Jan 7 05:09:41 2016
@@ -24,6 +24,9 @@ import java.util.concurrent.TimeUnit;
import aQute.bnd.annotation.ProviderType;
+/**
+ * A timer metric which aggregates timing durations and provides duration statistics.
+ */
@ProviderType
public interface Timer extends Counting, Metric{
/**
Modified: sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/package-info.java?rev=1723461&r1=1723460&r2=1723461&view=diff
==============================================================================
--- sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/package-info.java (original)
+++ sling/trunk/bundles/commons/metrics/src/main/java/org/apache/sling/commons/metrics/package-info.java Thu Jan 7 05:09:41 2016
@@ -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
*/