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;