Repository: camel
Updated Branches:
  refs/heads/master 7936f2f6c -> 3fac683a8


CAMEL-7696: camel-metrics - Add a route policy to expose route stats as 
codehale metrics. Work in progress.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3fac683a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3fac683a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3fac683a

Branch: refs/heads/master
Commit: 3fac683a868382e61fa65d74ac921eee45940e2d
Parents: 7936f2f
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sat Aug 16 09:26:12 2014 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sat Aug 16 09:27:57 2014 +0200

----------------------------------------------------------------------
 .../routepolicy/MetricsRegistryService.java     | 16 +++++++-------
 .../metrics/routepolicy/MetricsRoutePolicy.java | 23 ++++++++++----------
 .../routepolicy/MetricsRoutePolicyFactory.java  | 12 +++++-----
 .../ManagedMetricsRoutePolicyTest.java          |  2 +-
 .../routepolicy/MetricsRoutePolicyTest.java     |  2 +-
 5 files changed, 28 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3fac683a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
index 4562da0..dc8f584 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRegistryService.java
@@ -31,17 +31,17 @@ import org.apache.camel.support.ServiceSupport;
 public final class MetricsRegistryService extends ServiceSupport implements 
CamelContextAware {
 
     private CamelContext camelContext;
-    private MetricRegistry registry;
+    private MetricRegistry metricsRegistry;
     private JmxReporter reporter;
     private boolean useJmx;
     private String jmxDomain = "org.apache.camel.metrics";
 
-    public MetricRegistry getRegistry() {
-        return registry;
+    public MetricRegistry getMetricsRegistry() {
+        return metricsRegistry;
     }
 
-    public void setRegistry(MetricRegistry registry) {
-        this.registry = registry;
+    public void setMetricsRegistry(MetricRegistry metricsRegistry) {
+        this.metricsRegistry = metricsRegistry;
     }
 
     public CamelContext getCamelContext() {
@@ -70,8 +70,8 @@ public final class MetricsRegistryService extends 
ServiceSupport implements Came
 
     @Override
     protected void doStart() throws Exception {
-        if (registry == null) {
-            registry = new MetricRegistry();
+        if (metricsRegistry == null) {
+            metricsRegistry = new MetricRegistry();
         }
 
         if (useJmx) {
@@ -79,7 +79,7 @@ public final class MetricsRegistryService extends 
ServiceSupport implements Came
             if (agent != null) {
                 MBeanServer server = agent.getMBeanServer();
                 if (server != null) {
-                    reporter = 
JmxReporter.forRegistry(registry).registerWith(server).inDomain(jmxDomain).build();
+                    reporter = 
JmxReporter.forRegistry(metricsRegistry).registerWith(server).inDomain(jmxDomain).build();
                     reporter.start();
                 }
             } else {

http://git-wip-us.apache.org/repos/asf/camel/blob/3fac683a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
index 53a6914..4f74a05 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class MetricsRoutePolicy extends RoutePolicySupport {
 
-    private MetricRegistry registry;
+    private MetricRegistry metricsRegistry;
     private MetricsRegistryService registryService;
     private boolean useJmx = true;
     private String jmxDomain = "org.apache.camel.metrics";
@@ -72,12 +72,12 @@ public class MetricsRoutePolicy extends RoutePolicySupport {
         }
     }
 
-    public MetricRegistry getRegistry() {
-        return registry;
+    public MetricRegistry getMetricsRegistry() {
+        return metricsRegistry;
     }
 
-    public void setRegistry(MetricRegistry registry) {
-        this.registry = registry;
+    public void setMetricsRegistry(MetricRegistry metricsRegistry) {
+        this.metricsRegistry = metricsRegistry;
     }
 
     public boolean isUseJmx() {
@@ -105,7 +105,7 @@ public class MetricsRoutePolicy extends RoutePolicySupport {
             registryService = 
route.getRouteContext().getCamelContext().hasService(MetricsRegistryService.class);
             if (registryService == null) {
                 registryService = new MetricsRegistryService();
-                registryService.setRegistry(getRegistry());
+                registryService.setMetricsRegistry(getMetricsRegistry());
                 registryService.setUseJmx(isUseJmx());
                 registryService.setJmxDomain(getJmxDomain());
                 
route.getRouteContext().getCamelContext().addService(registryService);
@@ -115,17 +115,18 @@ public class MetricsRoutePolicy extends 
RoutePolicySupport {
         }
 
         // create statistics holder
-        Counter total = 
registryService.getRegistry().counter(createName("total"));
-        Counter inflight = 
registryService.getRegistry().counter(createName("inflight"));
-        Meter requests = 
registryService.getRegistry().meter(createName("requests"));
-        Timer responses = 
registryService.getRegistry().timer(createName("responses"));
+        Counter total = 
registryService.getMetricsRegistry().counter(createName("total"));
+        Counter inflight = 
registryService.getMetricsRegistry().counter(createName("inflight"));
+        Meter requests = 
registryService.getMetricsRegistry().meter(createName("requests"));
+        Timer responses = 
registryService.getMetricsRegistry().timer(createName("responses"));
         statistics = new MetricsStatistics(total, inflight, requests, 
responses);
     }
 
     private String createName(String type) {
         CamelContext context = route.getRouteContext().getCamelContext();
         String name = context.getManagementName() != null ? 
context.getManagementName() : context.getName();
-        return name + ":" + route.getId() + ":" + type;
+        // use colon to separate context from route, and dot for the type name
+        return name + ":" + route.getId() + "." + type;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/3fac683a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
index 2e523a6..d522567 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.RoutePolicyFactory;
  */
 public class MetricsRoutePolicyFactory implements RoutePolicyFactory {
 
-    private MetricRegistry registry;
+    private MetricRegistry metricsRegistry;
     private boolean useJmx = true;
     private String jmxDomain = "org.apache.camel.metrics";
 
@@ -36,12 +36,12 @@ public class MetricsRoutePolicyFactory implements 
RoutePolicyFactory {
      * <p/>
      * If no instance has been configured, then Camel will create a shared 
instance to be used.
      */
-    public void setRegistry(MetricRegistry registry) {
-        this.registry = registry;
+    public void setMetricsRegistry(MetricRegistry metricsRegistry) {
+        this.metricsRegistry = metricsRegistry;
     }
 
-    public MetricRegistry getRegistry() {
-        return registry;
+    public MetricRegistry getMetricsRegistry() {
+        return metricsRegistry;
     }
 
     public boolean isUseJmx() {
@@ -69,7 +69,7 @@ public class MetricsRoutePolicyFactory implements 
RoutePolicyFactory {
     @Override
     public RoutePolicy createRoutePolicy(CamelContext camelContext, String 
routeId, RouteDefinition routeDefinition) {
         MetricsRoutePolicy answer = new MetricsRoutePolicy();
-        answer.setRegistry(getRegistry());
+        answer.setMetricsRegistry(getMetricsRegistry());
         answer.setUseJmx(isUseJmx());
         answer.setJmxDomain(getJmxDomain());
         return answer;

http://git-wip-us.apache.org/repos/asf/camel/blob/3fac683a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
index 5d008a6..44d1ab0 100644
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
+++ 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
@@ -45,7 +45,7 @@ public class ManagedMetricsRoutePolicyTest extends 
CamelTestSupport {
 
         MetricsRoutePolicyFactory factory = new MetricsRoutePolicyFactory();
         factory.setUseJmx(true);
-        factory.setRegistry(registry);
+        factory.setMetricsRegistry(registry);
         context.addRoutePolicyFactory(factory);
 
         return context;

http://git-wip-us.apache.org/repos/asf/camel/blob/3fac683a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
index 7b2b164..09ec230 100644
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
+++ 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
@@ -32,7 +32,7 @@ public class MetricsRoutePolicyTest extends CamelTestSupport {
 
         MetricsRoutePolicyFactory factory = new MetricsRoutePolicyFactory();
         factory.setUseJmx(false);
-        factory.setRegistry(registry);
+        factory.setMetricsRegistry(registry);
         context.addRoutePolicyFactory(factory);
 
         return context;

Reply via email to