You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:22:29 UTC

[sling-org-apache-sling-commons-metrics] 09/23: SLING-4080 - API to capture/measure application-level metrics

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.commons.metrics-0.0.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-metrics.git

commit e2c7c10753332d68b2654d5e93e085bbcdb7ac8a
Author: Chetan Mehrotra <ch...@apache.org>
AuthorDate: Wed Jan 6 11:39:03 2016 +0000

    SLING-4080 - API to capture/measure application-level metrics
    
    Remove dependency on Sling API by folding in the adapt interface as part of Metric interface. This would allow this bundle to be useful in non Sling based OSGi env also
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/whiteboard/chetanm/metrics@1723286 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                                          | 5 -----
 src/main/java/org/apache/sling/metrics/Counter.java              | 3 +--
 src/main/java/org/apache/sling/metrics/Histogram.java            | 3 +--
 src/main/java/org/apache/sling/metrics/Meter.java                | 3 +--
 src/main/java/org/apache/sling/metrics/Metric.java               | 9 +++++++++
 src/main/java/org/apache/sling/metrics/Timer.java                | 3 +--
 src/main/java/org/apache/sling/metrics/internal/CounterImpl.java | 4 ++--
 .../java/org/apache/sling/metrics/internal/HistogramImpl.java    | 4 ++--
 src/main/java/org/apache/sling/metrics/internal/MeterImpl.java   | 4 ++--
 src/main/java/org/apache/sling/metrics/internal/TimerImpl.java   | 4 ++--
 10 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7a4d955..5d13870 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,11 +80,6 @@
       <version>2.2.0</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.api</artifactId>
-      <version>2.1.0</version>
-    </dependency>
-    <dependency>
       <groupId>org.osgi</groupId>
       <artifactId>org.osgi.core</artifactId>
       <version>4.3.1</version>
diff --git a/src/main/java/org/apache/sling/metrics/Counter.java b/src/main/java/org/apache/sling/metrics/Counter.java
index 2ea4e42..b828aa5 100644
--- a/src/main/java/org/apache/sling/metrics/Counter.java
+++ b/src/main/java/org/apache/sling/metrics/Counter.java
@@ -20,10 +20,9 @@
 package org.apache.sling.metrics;
 
 import aQute.bnd.annotation.ProviderType;
-import org.apache.sling.api.adapter.Adaptable;
 
 @ProviderType
-public interface Counter extends Counting, Metric, Adaptable{
+public interface Counter extends Counting, Metric{
     /**
      * Increment the counter by one.
      */
diff --git a/src/main/java/org/apache/sling/metrics/Histogram.java b/src/main/java/org/apache/sling/metrics/Histogram.java
index ceb6ee3..37938f5 100644
--- a/src/main/java/org/apache/sling/metrics/Histogram.java
+++ b/src/main/java/org/apache/sling/metrics/Histogram.java
@@ -20,10 +20,9 @@
 package org.apache.sling.metrics;
 
 import aQute.bnd.annotation.ProviderType;
-import org.apache.sling.api.adapter.Adaptable;
 
 @ProviderType
-public interface Histogram extends Counting, Metric, Adaptable {
+public interface Histogram extends Counting, Metric {
     /**
      * Adds a recorded value.
      *
diff --git a/src/main/java/org/apache/sling/metrics/Meter.java b/src/main/java/org/apache/sling/metrics/Meter.java
index 7e3183b..a4914d7 100644
--- a/src/main/java/org/apache/sling/metrics/Meter.java
+++ b/src/main/java/org/apache/sling/metrics/Meter.java
@@ -20,10 +20,9 @@
 package org.apache.sling.metrics;
 
 import aQute.bnd.annotation.ProviderType;
-import org.apache.sling.api.adapter.Adaptable;
 
 @ProviderType
-public interface Meter extends Counting, Metric, Adaptable {
+public interface Meter extends Counting, Metric{
     /**
      * Mark the occurrence of an event.
      */
diff --git a/src/main/java/org/apache/sling/metrics/Metric.java b/src/main/java/org/apache/sling/metrics/Metric.java
index f3a52b9..4952017 100644
--- a/src/main/java/org/apache/sling/metrics/Metric.java
+++ b/src/main/java/org/apache/sling/metrics/Metric.java
@@ -23,4 +23,13 @@ import aQute.bnd.annotation.ProviderType;
 
 @ProviderType
 public interface Metric {
+    /**
+     * Adapts the Metric to the specified type.
+     *
+     * @param <A> The type to which this metric is to be adapted.
+     * @param type Class object for the type to which this metric is to be adapted.
+     * @return The object, of the specified type, to which this metric has been adapted
+     * or null if this metric cannot be adapted to the specified type.
+     */
+    <A> A adaptTo(Class<A> type);
 }
diff --git a/src/main/java/org/apache/sling/metrics/Timer.java b/src/main/java/org/apache/sling/metrics/Timer.java
index cb9199f..602a0cb 100644
--- a/src/main/java/org/apache/sling/metrics/Timer.java
+++ b/src/main/java/org/apache/sling/metrics/Timer.java
@@ -23,10 +23,9 @@ import java.io.Closeable;
 import java.util.concurrent.TimeUnit;
 
 import aQute.bnd.annotation.ProviderType;
-import org.apache.sling.api.adapter.Adaptable;
 
 @ProviderType
-public interface Timer extends Counting, Metric, Adaptable {
+public interface Timer extends Counting, Metric{
     /**
      * A timing context.
      *
diff --git a/src/main/java/org/apache/sling/metrics/internal/CounterImpl.java b/src/main/java/org/apache/sling/metrics/internal/CounterImpl.java
index 1afa99b..0137b71 100644
--- a/src/main/java/org/apache/sling/metrics/internal/CounterImpl.java
+++ b/src/main/java/org/apache/sling/metrics/internal/CounterImpl.java
@@ -56,9 +56,9 @@ final class CounterImpl implements Counter {
 
     @SuppressWarnings("unchecked")
     @Override
-    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+    public <A> A adaptTo(Class<A> type) {
         if (type == com.codahale.metrics.Counter.class){
-            return (AdapterType) counter;
+            return (A) counter;
         }
         return null;
     }
diff --git a/src/main/java/org/apache/sling/metrics/internal/HistogramImpl.java b/src/main/java/org/apache/sling/metrics/internal/HistogramImpl.java
index 25be1a8..15117e9 100644
--- a/src/main/java/org/apache/sling/metrics/internal/HistogramImpl.java
+++ b/src/main/java/org/apache/sling/metrics/internal/HistogramImpl.java
@@ -41,9 +41,9 @@ final class HistogramImpl implements Histogram {
 
     @SuppressWarnings("unchecked")
     @Override
-    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+    public <A> A adaptTo(Class<A> type) {
         if (type == com.codahale.metrics.Histogram.class){
-            return (AdapterType) histogram;
+            return (A) histogram;
         }
         return null;
     }
diff --git a/src/main/java/org/apache/sling/metrics/internal/MeterImpl.java b/src/main/java/org/apache/sling/metrics/internal/MeterImpl.java
index 95cac21..719d356 100644
--- a/src/main/java/org/apache/sling/metrics/internal/MeterImpl.java
+++ b/src/main/java/org/apache/sling/metrics/internal/MeterImpl.java
@@ -45,9 +45,9 @@ final class MeterImpl implements Meter {
 
     @SuppressWarnings("unchecked")
     @Override
-    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+    public <A> A adaptTo(Class<A> type) {
         if (type == com.codahale.metrics.Meter.class){
-            return (AdapterType)meter;
+            return (A)meter;
         }
         return null;
     }
diff --git a/src/main/java/org/apache/sling/metrics/internal/TimerImpl.java b/src/main/java/org/apache/sling/metrics/internal/TimerImpl.java
index 49aaac3..54fd39c 100644
--- a/src/main/java/org/apache/sling/metrics/internal/TimerImpl.java
+++ b/src/main/java/org/apache/sling/metrics/internal/TimerImpl.java
@@ -48,9 +48,9 @@ final class TimerImpl implements Timer {
 
     @SuppressWarnings("unchecked")
     @Override
-    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+    public <A> A adaptTo(Class<A> type) {
         if (type == com.codahale.metrics.Timer.class) {
-            return (AdapterType) timer;
+            return (A) timer;
         }
         return null;
     }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.