Author: chetanm
Date: Tue Nov 24 16:56:30 2015
New Revision: 1716208

URL: http://svn.apache.org/viewvc?rev=1716208&view=rev
Log:
OAK-3654 - Integrate with Metrics for various stats collection

Refactor to remove redundant wrapper class

Removed:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricCounterStats.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricMeterStats.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricTimerStats.java
Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStats.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStatsTest.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStats.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStats.java?rev=1716208&r1=1716207&r2=1716208&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStats.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStats.java
 Tue Nov 24 16:56:30 2015
@@ -21,6 +21,9 @@ package org.apache.jackrabbit.oak.plugin
 
 import java.util.concurrent.TimeUnit;
 
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Meter;
+import com.codahale.metrics.Timer;
 import org.apache.jackrabbit.oak.stats.CounterStats;
 import org.apache.jackrabbit.oak.stats.MeterStats;
 import org.apache.jackrabbit.oak.stats.SimpleStats;
@@ -33,24 +36,24 @@ import org.apache.jackrabbit.oak.stats.T
  */
 class CompositeStats implements CounterStats, MeterStats, TimerStats {
     private final SimpleStats delegate;
-    private final CounterStats counter;
-    private final TimerStats timer;
-    private final MeterStats meter;
+    private final Counter counter;
+    private final Timer timer;
+    private final Meter meter;
 
-    public CompositeStats(SimpleStats delegate, CounterStats counter) {
+    public CompositeStats(SimpleStats delegate, Counter counter) {
         this(delegate, counter, null, null);
     }
 
-    public CompositeStats(SimpleStats delegate, TimerStats timer) {
+    public CompositeStats(SimpleStats delegate, Timer timer) {
         this(delegate, null, timer, null);
     }
 
-    public CompositeStats(SimpleStats delegate, MeterStats meter) {
+    public CompositeStats(SimpleStats delegate, Meter meter) {
         this(delegate, null, null, meter);
     }
 
-    private CompositeStats(SimpleStats delegate, CounterStats counter,
-                           TimerStats timer, MeterStats meter) {
+    private CompositeStats(SimpleStats delegate, Counter counter,
+                           Timer timer, Meter meter) {
         this.delegate = delegate;
         this.counter = counter;
         this.timer = timer;
@@ -103,4 +106,16 @@ class CompositeStats implements CounterS
     boolean isCounter() {
         return meter == null && timer == null && counter != null;
     }
+
+    Counter getCounter() {
+        return counter;
+    }
+
+    Timer getTimer() {
+        return timer;
+    }
+
+    Meter getMeter() {
+        return meter;
+    }
 }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java?rev=1716208&r1=1716207&r2=1716208&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java
 Tue Nov 24 16:56:30 2015
@@ -138,7 +138,7 @@ public class MetricStatisticsProvider im
             if (NOOPS_TYPES.contains(name)) {
                 stats = delegate;
             } else {
-                stats = builder.newComposite(delegate, registry, name);
+                stats = builder.newComposite(delegate, this, name);
             }
 
             statsRegistry.put(type, stats);
@@ -154,20 +154,25 @@ public class MetricStatisticsProvider im
 
     private void registerAverages() {
         registry.register(typeToName(Type.QUERY_AVERAGE),
-                new AvgGauge(registry.meter(typeToName(Type.QUERY_COUNT)),
-                        registry.timer(typeToName(Type.QUERY_DURATION))));
+                new AvgGauge(compStats(Type.QUERY_COUNT, 
StatsBuilder.METERS).getMeter(),
+                        compStats(Type.QUERY_DURATION, 
StatsBuilder.TIMERS).getTimer()));
 
         registry.register(typeToName(Type.OBSERVATION_EVENT_AVERAGE),
-                new 
AvgGauge(registry.meter(typeToName(Type.OBSERVATION_EVENT_COUNTER)),
-                        
registry.timer(typeToName(Type.OBSERVATION_EVENT_DURATION))));
+                new AvgGauge(compStats(Type.OBSERVATION_EVENT_COUNTER, 
StatsBuilder.METERS).getMeter(),
+                        compStats(Type.OBSERVATION_EVENT_DURATION, 
StatsBuilder.TIMERS).getTimer()));
+    }
+
+    private CompositeStats compStats(Type type, StatsBuilder builder){
+        Stats stats = getStats(typeToName(type), builder);
+        return (CompositeStats) stats;
     }
 
     @SuppressWarnings("unused")
     private interface StatsBuilder<T extends Stats> {
         StatsBuilder<CounterStats> COUNTERS = new StatsBuilder<CounterStats>() 
{
             @Override
-            public CompositeStats newComposite(SimpleStats delegate, 
MetricRegistry registry,String name) {
-                return new CompositeStats(delegate, new 
MetricCounterStats(registry.counter(name)));
+            public CompositeStats newComposite(SimpleStats delegate, 
MetricStatisticsProvider provider,String name) {
+                return new CompositeStats(delegate, 
provider.registry.counter(name));
             }
 
             @Override
@@ -178,8 +183,8 @@ public class MetricStatisticsProvider im
 
         StatsBuilder<MeterStats> METERS = new StatsBuilder<MeterStats>() {
             @Override
-            public CompositeStats newComposite(SimpleStats delegate, 
MetricRegistry registry,String name) {
-                return new CompositeStats(delegate, new 
MetricMeterStats(registry.meter(name)));
+            public CompositeStats newComposite(SimpleStats delegate, 
MetricStatisticsProvider provider,String name) {
+                return new CompositeStats(delegate, 
provider.registry.meter(name));
             }
 
             @Override
@@ -191,8 +196,8 @@ public class MetricStatisticsProvider im
         StatsBuilder<TimerStats> TIMERS = new StatsBuilder<TimerStats>() {
 
             @Override
-            public CompositeStats newComposite(SimpleStats delegate, 
MetricRegistry registry,String name) {
-                return new CompositeStats(delegate, new 
MetricTimerStats(registry.timer(name)));
+            public CompositeStats newComposite(SimpleStats delegate, 
MetricStatisticsProvider provider,String name) {
+                return new CompositeStats(delegate, 
provider.registry.timer(name));
             }
 
             @Override
@@ -201,7 +206,7 @@ public class MetricStatisticsProvider im
             }
         };
 
-        CompositeStats newComposite(SimpleStats delegate, MetricRegistry 
registry,String name);
+        CompositeStats newComposite(SimpleStats delegate, 
MetricStatisticsProvider provider,String name);
 
         boolean isInstance(Stats stats);
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStatsTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStatsTest.java?rev=1716208&r1=1716207&r2=1716208&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStatsTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/CompositeStatsTest.java
 Tue Nov 24 16:56:30 2015
@@ -22,6 +22,7 @@ package org.apache.jackrabbit.oak.plugin
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 
+import com.codahale.metrics.Counter;
 import com.codahale.metrics.Meter;
 import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer;
@@ -39,7 +40,7 @@ public class CompositeStatsTest {
 
     @Test
     public void counter() throws Exception {
-        MetricCounterStats counter = new 
MetricCounterStats(registry.counter("test"));
+        Counter counter = registry.counter("test");
         CounterStats counterStats = new CompositeStats(simpleStats, counter);
 
         counterStats.inc();
@@ -59,7 +60,7 @@ public class CompositeStatsTest {
     @Test
     public void meter() throws Exception {
         Meter meter = registry.meter("test");
-        MeterStats meterStats = new CompositeStats(simpleStats, new 
MetricMeterStats(meter));
+        MeterStats meterStats = new CompositeStats(simpleStats, meter);
 
         meterStats.mark();
         assertEquals(1, simpleStats.getCount());
@@ -73,7 +74,7 @@ public class CompositeStatsTest {
     @Test
     public void timer() throws Exception {
         Timer time = registry.timer("test");
-        TimerStats timerStats = new CompositeStats(simpleStats, new 
MetricTimerStats(time));
+        TimerStats timerStats = new CompositeStats(simpleStats, time);
 
         timerStats.update(100, TimeUnit.SECONDS);
         assertEquals(1, time.getCount());


Reply via email to