CAMEL-9014: Option to turn on extended JMX statistics for EIPs to track fine grained utilization statistics such as which and how often they send to dynamic endpoints.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/18e89e77 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/18e89e77 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/18e89e77 Branch: refs/heads/master Commit: 18e89e77ce6443712d2b6916630987fddb57c892 Parents: 7609c0d Author: Claus Ibsen <davscl...@apache.org> Authored: Sat Jul 25 13:59:30 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sat Jul 25 13:59:39 2015 +0200 ---------------------------------------------------------------------- .../core/xml/AbstractCamelContextFactoryBean.java | 5 +++++ .../camel/core/xml/CamelJMXAgentDefinition.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/18e89e77/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java ---------------------------------------------------------------------- diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java index 4caefee..b68173f 100644 --- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java +++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java @@ -454,6 +454,11 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex if (loadStatisticsEnabled != null) { getContext().getManagementStrategy().setLoadStatisticsEnabled(loadStatisticsEnabled); } + + Boolean extendedStatisticsEnabled = CamelContextHelper.parseBoolean(getContext(), camelJMXAgent.getExtendedStatisticsEnabled()); + if (extendedStatisticsEnabled != null) { + getContext().getManagementStrategy().setExtendedStatisticsEnabled(extendedStatisticsEnabled); + } } } http://git-wip-us.apache.org/repos/asf/camel/blob/18e89e77/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java ---------------------------------------------------------------------- diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java index 0769c61..26e0b68 100644 --- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java +++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java @@ -112,6 +112,12 @@ public class CamelJMXAgentDefinition extends IdentifiedType { private String loadStatisticsEnabled; /** + * A flag that indicates whether extended statistics is enabled + */ + @XmlAttribute + private String extendedStatisticsEnabled; + + /** * A flag that indicates whether to include hostname in JMX MBean names. */ @XmlAttribute @@ -227,6 +233,14 @@ public class CamelJMXAgentDefinition extends IdentifiedType { this.loadStatisticsEnabled = loadStatisticsEnabled; } + public String getExtendedStatisticsEnabled() { + return extendedStatisticsEnabled; + } + + public void setExtendedStatisticsEnabled(String extendedStatisticsEnabled) { + this.extendedStatisticsEnabled = extendedStatisticsEnabled; + } + public String getIncludeHostName() { return includeHostName; } @@ -272,6 +286,9 @@ public class CamelJMXAgentDefinition extends IdentifiedType { if (loadStatisticsEnabled != null) { sb.append(", loadStatisticsEnabled=").append(loadStatisticsEnabled); } + if (extendedStatisticsEnabled != null) { + sb.append(", extendedStatisticsEnabled=").append(extendedStatisticsEnabled); + } if (onlyRegisterProcessorWithCustomId != null) { sb.append(", onlyRegisterProcessorWithCustomId=").append(onlyRegisterProcessorWithCustomId); }