You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2017/07/17 04:19:24 UTC
svn commit: r1015573 - in /websites/production/camel/content:
cache/main.pageCache metrics-component.html
Author: buildbot
Date: Mon Jul 17 04:19:24 2017
New Revision: 1015573
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/metrics-component.html
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/metrics-component.html
==============================================================================
--- websites/production/camel/content/metrics-component.html (original)
+++ websites/production/camel/content/metrics-component.html Mon Jul 17 04:19:24 2017
@@ -123,7 +123,7 @@ public static class MyConfig extends Sin
.to("direct:out");]]></script>
</div></div><p>will update counter with name <strong><code>new.name</code></strong> instead of <strong><code>name.not.used</code></strong>.</p><p>All <span><strong><code>metrics</code></strong></span> specific headers are removed from the message once Metrics endpoint finishes processing of exchange. While processing the exchange <span><strong><code>metrics</code></strong></span> endpoint any exceptions thrown are caught and written to as a log entry at level <strong><code>warn</code></strong>.</p><h3 id="MetricsComponent-counterMetricsTypeCounter"><span class="confluence-anchor-link" id="MetricsComponent-counter"></span>Metrics Type Counter</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: text; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[metrics:counter:metricname[?options]]]></script>
-</div></div><h4 id="MetricsComponent-Options"><span style="line-height: 1.5;">Options</span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>increment</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>-</code></td><td colspan="1" rowspan="1" class="confluenceTd">Long value to add to the counter</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>decrement</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>-</code></td><td colspan="1" rowspan="1" class="confluenceTd">Long value to subtract from the counter</td></tr></tbody></table></div><p>If neither <strong><code>increment</code></strong> or <strong><code>decrement</code></strong> is defined then counter value will be inc
remented by one. If <strong><code>increment</code></strong> and <strong><code>decrement</code></strong> are both defined only <strong><code>increment</code></strong> operation is called.<span style="line-height: 1.4285715;"> </span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Options"><span style="line-height: 1.5;">Options</span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>increment</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Long value to add to the counter</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decrement</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Long value to subtract from the counter</p></td></tr></tbody></table></div><p>If neither <strong><code>increment</code></strong> or <strong><code>decr
ement</code></strong> is defined then counter value will be incremented by one. If <strong><code>increment</code></strong> and <strong><code>decrement</code></strong> are both defined only <strong><code>increment</code></strong> operation is called.<span style="line-height: 1.4285715;"> </span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// update counter simple.counter by 7
from("direct:in")
.to("metric:counter:simple.counter?increment=7")
@@ -138,7 +138,7 @@ from("direct:in")
from("direct:in")
.to("metric:counter:simple.counter?decrement=3")
.to("direct:out");]]></script>
-</div></div><h4 id="MetricsComponent-Headers.1">Headers</h4><p><span style="line-height: 1.4285715;">Message headers can be used to override <strong><code>increment</code></strong> and <strong><code>decrement</code></strong> values specified in the <strong><code>metrics</code></strong> component URI.</span></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Expected type</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelMetricsCounterIncrement</code></td><td colspan="1" rowspan="1" class="confluenceTd">Override increment value in URI</td><td colspan="1" rowspan="1" class="confluenceTd"><code>Long</code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelMetricsCounterDecrement</code></td><td colspan="1" rowspan="1" class="confluenceTd">Override de
crement value in URI</td><td colspan="1" rowspan="1" class="confluenceTd"><code>Long</code></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Headers.1">Headers</h4><p><span style="line-height: 1.4285715;">Message headers can be used to override <strong><code>increment</code></strong> and <strong><code>decrement</code></strong> values specified in the <strong><code>metrics</code></strong> component URI.</span></p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Expected type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMetricsCounterIncrement</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Override increment value in URI</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMetricsCounterDecrement</code></p></td><td colspan
="1" rowspan="1" class="confluenceTd"><p>Override decrement value in URI</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// update counter simple.counter by 417
from("direct:in")
.setHeader(MetricsConstants.HEADER_COUNTER_INCREMENT, constant(417L))
@@ -152,7 +152,7 @@ from("direct:in")
.to("mock:out");]]></script>
</div></div><h3 id="MetricsComponent-histogramMetrictypehistogram"><span class="confluence-anchor-link" id="MetricsComponent-histogram"></span>Metric type histogram</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: text; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[metrics:histogram:metricname[?options]]]></script>
-</div></div><h4 id="MetricsComponent-Options.1">Options</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>value</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>-</code></td><td colspan="1" rowspan="1" class="confluenceTd">Value to use in histogram</td></tr></tbody></table></div><p>If no <strong><code>value</code></strong> is not set nothing is added to histogram and warning is logged.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Options.1">Options</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>value</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Value to use in histogram</p></td></tr></tbody></table></div><p>If no <strong><code>value</code></strong> is not set nothing is added to histogram and warning is logged.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// adds value 9923 to simple.histogram
from("direct:in")
.to("metric:histogram:simple.histogram?value=9923")
@@ -162,7 +162,7 @@ from("direct:in")
from("direct:in")
.to("metric:histogram:simple.histogram")
.to("direct:out");]]></script>
-</div></div><h4 id="MetricsComponent-Headers.2">Headers</h4><p>Message header can be used to override value specified in <span><strong><code>metrics</code></strong></span> component URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Expected type</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelMetricsHistogramValue</code></td><td colspan="1" rowspan="1" class="confluenceTd">Override histogram value in URI</td><td colspan="1" rowspan="1" class="confluenceTd"><code>Long</code></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Headers.2">Headers</h4><p>Message header can be used to override value specified in <span><strong><code>metrics</code></strong></span> component URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Expected type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMetricsHistogramValue</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Override histogram value in URI</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// Adds value 992 to simple.histogram
from("direct:in")
.setHeader(MetricsConstants.HEADER_HISTOGRAM_VALUE, constant(992L))
@@ -170,7 +170,7 @@ from("direct:in")
.to("direct:out")]]></script>
</div></div><h3 id="MetricsComponent-meterMetrictypemeter"><span class="confluence-anchor-link" id="MetricsComponent-meter"></span>Metric type meter</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: text; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[metrics:meter:metricname[?options]]]></script>
-</div></div><h4 id="MetricsComponent-Options.2"><span style="line-height: 1.4285715;">Options</span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>mark</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>-</code></td><td colspan="1" rowspan="1" class="confluenceTd">Long value to use as mark</td></tr></tbody></table></div><p><span style="line-height: 1.4285715;">If <strong><code>mark</code></strong> is not set then <strong><code>meter.mark()</code></strong> is called without argument.</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Options.2"><span style="line-height: 1.4285715;">Options</span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mark</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Long value to use as mark</p></td></tr></tbody></table></div><p><span style="line-height: 1.4285715;">If <strong><code>mark</code></strong> is not set then <strong><code>meter.mark()</code></strong> is called without argument.</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// marks simple.meter without value
from("direct:in")
.to("metric:simple.meter")
@@ -180,7 +180,7 @@ from("direct:in")
from("direct:in")
.to("metric:meter:simple.meter?mark=81")
.to("direct:out");]]></script>
-</div></div><h4 id="MetricsComponent-Headers.3">Headers</h4><p>Message header can be used to override <strong><code>mark</code></strong> value specified in <span><strong><code>metrics</code></strong></span> component URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Expected type</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelMetricsMeterMark</code></td><td colspan="1" rowspan="1" class="confluenceTd">Override mark value in URI</td><td colspan="1" rowspan="1" class="confluenceTd"><code>Long</code></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Headers.3">Headers</h4><p>Message header can be used to override <strong><code>mark</code></strong> value specified in <span><strong><code>metrics</code></strong></span> component URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Expected type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMetricsMeterMark</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Override mark value in URI</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// updates meter simple.meter with value 345
from("direct:in")
.setHeader(MetricsConstants.HEADER_METER_MARK, constant(345L))
@@ -188,13 +188,13 @@ from("direct:in")
.to("direct:out");]]></script>
</div></div><h3 id="MetricsComponent-timerMetricstypetimer"><span class="confluence-anchor-link" id="MetricsComponent-timer"></span>Metrics type timer</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: text; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[metrics:timer:metricname[?options]]]></script>
-</div></div><h4 id="MetricsComponent-Options.3"><span style="line-height: 1.4285715;">Options</span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>action</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>-</code></td><td colspan="1" rowspan="1" class="confluenceTd">start or stop</td></tr></tbody></table></div><p><span style="line-height: 1.4285715;">If no <strong><code>action</code></strong> or invalid value is provided then warning is logged without any timer update. If action <strong><code>start</code></strong> is called on already running timer or <strong><code>stop</code></strong> is called on not running timer then nothing is updated and warning is logged.</span></p><div class="code panel pdl" s
tyle="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="MetricsComponent-Options.3"><span style="line-height: 1.4285715;">Options</span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>action</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>start or stop</p></td></tr></tbody></table></div><p><span style="line-height: 1.4285715;">If no <strong><code>action</code></strong> or invalid value is provided then warning is logged without any timer update. If action <strong><code>start</code></strong> is called on already running timer or <strong><code>stop</code></strong> is called on not running timer then nothing is updated and warning is logge
d.</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// measure time taken by route "calculate"
from("direct:in")
.to("metrics:timer:simple.timer?action=start")
.to("direct:calculate")
.to("metrics:timer:simple.timer?action=stop");]]></script>
-</div></div><p><strong><code>TimerContext</code></strong> objects are stored as <strong><code>Exchange</code></strong> properties between different <span><strong><code>metrics</code></strong></span> component calls.</p><h4 id="MetricsComponent-Headers.4">Headers</h4><p>Message header can be used to override action value specified in <span><strong><code>metrics</code></strong></span> component URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Expected type</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelMetricsTimerAction</code></td><td colspan="1" rowspan="1" class="confluenceTd">Override timer action in URI</td><td colspan="1" rowspan="1" class="confluenceTd"><strong><code>org.apache.camel.component.metrics.timer.TimerEndpoint.TimerAction</code></str
ong></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p><strong><code>TimerContext</code></strong> objects are stored as <strong><code>Exchange</code></strong> properties between different <span><strong><code>metrics</code></strong></span> component calls.</p><h4 id="MetricsComponent-Headers.4">Headers</h4><p>Message header can be used to override action value specified in <span><strong><code>metrics</code></strong></span> component URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Expected type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMetricsTimerAction</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Override timer action in URI</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong><code>org.apache.camel.component.metrics.timer
.TimerEndpoint.TimerAction</code></strong></p></td></tr></tbody></table></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// sets timer action using header
from("direct:in")
.setHeader(MetricsConstants.HEADER_TIMER_ACTION, TimerAction.start)
@@ -205,7 +205,7 @@ from("direct:in")
</div></div><p>And from XML DSL you define a <strong><code><bean></code></strong> as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ <!-- use camel-metrics route policy to gather metrics for all routes -->
<bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/>]]></script>
-</div></div><p>The <strong><code>MetricsRoutePolicyFactory</code></strong> and <strong><code>MetricsRoutePolicy</code></strong> supports the following options:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>useJmx</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd">Whether to report fine grained statistics to JMX by using the <strong><code>com.codahale.metrics.JmxReporter</code></strong>.<br clear="none">Notice that if JMX is enabled on <a shape="rect" href="camelcontext.html">CamelContext</a> then a <strong><code>MetricsRegistryService</code></strong> mbean is enlisted under the services type in the JMX tree. That MBean has a si
ngle operation to output the statistics using JSON. Setting <strong><code>useJmx</code></strong> to true is only needed if you want fine grained MBeans per statistics type.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>jmxDomain</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>org.apache.camel.metrics</code></td><td colspan="1" rowspan="1" class="confluenceTd">The JMX domain name.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>prettyPrint</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd">Whether to use pretty print when outputting statistics in JSON format.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>metricsRegistry</code></td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd">Allow to use a shared <strong><code>com.codahale.metrics.MetricRegistry</code></strong>
. If one is not configured Camel will create a shared instance for use by the <strong><code>CamelContext</code></strong>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>rateUnit</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>TimeUnit.SECONDS</code></td><td colspan="1" rowspan="1" class="confluenceTd">The unit to use for rate in the metrics reporter or when dumping the statistics as JSON.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>durationUnit</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>TimeUnit.MILLISECONDS</code></td><td colspan="1" rowspan="1" class="confluenceTd">The unit to use for duration in the metrics reporter or when dumping the statistics as JSON.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>namePattern</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>##name##.##routeId##.##type##</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p><stro
ng>Camel 2.17</strong>: The name pattern to use. Uses dot as separators, but you can change that. The values <strong><code>##name##</code></strong>, <strong><code>##routeId##</code></strong>, and <strong><code>##type##</code></strong> will be replaced with actual value. Where <strong><code>###name###</code></strong> is the name of the <strong><code>CamelContext. ###routeId###</code></strong> is the id of the route, where <strong><code>###type###</code></strong> is the value of responses.</p></td></tr></tbody></table></div><p> </p><p>In Java you can get the <strong><code>com.codahale.metrics.MetricRegistry</code></strong><span> from the <strong><code>org.apache.camel.component.metrics.routepolicy.MetricsRegistryService</code></strong> as shown below:</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The <strong><code>MetricsRoutePolicyFactory</code></strong> and <strong><code>MetricsRoutePolicy</code></strong> supports the following options:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useJmx</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to report fine grained statistics to JMX by using the <strong><code>com.codahale.metrics.JmxReporter</code></strong>.</p><p>Notice that if JMX is enabled on <a shape="rect" href="camelcontext.html">CamelContext</a> then a <strong><code>MetricsRegistryService</code></strong> mbean is enlisted under the services type in the J
MX tree. That MBean has a single operation to output the statistics using JSON. Setting <strong><code>useJmx</code></strong> to true is only needed if you want fine grained MBeans per statistics type.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>jmxDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.metrics</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JMX domain name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prettyPrint</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to use pretty print when outputting statistics in JSON format.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>metricsRegistry</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd"><p>All
ow to use a shared <strong><code>com.codahale.metrics.MetricRegistry</code></strong>. If one is not configured Camel will create a shared instance for use by the <strong><code>CamelContext</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rateUnit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>TimeUnit.SECONDS</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The unit to use for rate in the metrics reporter or when dumping the statistics as JSON.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>durationUnit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>TimeUnit.MILLISECONDS</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The unit to use for duration in the metrics reporter or when dumping the statistics as JSON.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>namePattern</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>##name##.##routeId##.##type##</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.17</strong>: The name pattern to use. Uses dot as separators, but you can change that. The values <strong><code>##name##</code></strong>, <strong><code>##routeId##</code></strong>, and <strong><code>##type##</code></strong> will be replaced with actual value. Where <strong><code>###name###</code></strong> is the name of the <strong><code>CamelContext. ###routeId###</code></strong> is the id of the route, where <strong><code>###type###</code></strong> is the value of responses.</p></td></tr></tbody></table></div><p> </p><p>In Java you can get the <strong><code>com.codahale.metrics.MetricRegistry</code></strong><span> from the <strong><code>org.apache.camel.component.metrics.routepolicy.MetricsRegistryService</code></strong> as shown below:</span></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[MetricRegistryService registryService = context.hasService(MetricsRegistryService.class);
if (registryService != null) {
@@ -217,7 +217,7 @@ if (registryService != null) {
</div></div><p>And from XML DSL you define a <strong><code><bean></code></strong> as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ <!-- use camel-metrics message history to gather metrics for all messages being routed -->
<bean id="metricsMessageHistoryFactory" class="org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory"/>]]></script>
-</div></div><p>The following options is supported on the factory:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Name</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>useJmx</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd">Whether to report fine grained statistics to JMX by using the <strong><code>com.codahale.metrics.JmxReporter</code></strong>.<br clear="none">Notice that if JMX is enabled on <a shape="rect" href="camelcontext.html">CamelContext</a> then a <strong><code>MetricsRegistryService</code></strong> MBean is enlisted under the services type in the JMX tree. That MBean has a single operation to output the statistics using JSON. Setting <strong><code>useJmx</code></strong> to true
is only needed if you want fine grained MBeans per statistics type.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>jmxDomain</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>org.apache.camel.metrics</code></td><td colspan="1" rowspan="1" class="confluenceTd">The JMX domain name.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>prettyPrint</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd">Whether to use pretty print when outputting statistics in JSON format.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>metricsRegistry</code></td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd">Allow to use a shared <strong><code>com.codahale.metrics.MetricRegistry</code></strong>. If one is not provided Camel will create a shared instance for use by the <strong><code>CamelContext</
code></strong>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>rateUnit</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>TimeUnit.SECONDS</code></td><td colspan="1" rowspan="1" class="confluenceTd">The unit to use for rate in the metrics reporter or when dumping the statistics as JSON.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>durationUnit</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>TimeUnit.MILLISECONDS</code></td><td colspan="1" rowspan="1" class="confluenceTd">The unit to use for duration in the metrics reporter or when dumping the statistics as JSON</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>namePattern</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>##name##.##routeId##.###id###.##type##</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">The name pattern to use. Uses dot as separators, but you can change that. The values <strong><code>
##name##</code></strong>, <strong><code>##routeId##</code></strong>, <strong><code>##type##</code></strong>, and <strong><code>###id###</code></strong> will be replaced with actual value. <span>Where <strong><code>###name###</code></strong> is the name of the <strong><code>CamelContext.###routeId###</code></strong> is the name of the route. </span>The <strong><code>###id###</code></strong> pattern represents the node id, where <strong><code>###type###</code></strong> is the value of history.</td></tr></tbody></table></div><p>At runtime the metrics can be accessed from Java API or JMX which allows to gather the data as JSON output.</p><p>In Java, get the service from the <strong>CamelContext</strong> as shown:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The following options is supported on the factory:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useJmx</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to report fine grained statistics to JMX by using the <strong><code>com.codahale.metrics.JmxReporter</code></strong>.</p><p>Notice that if JMX is enabled on <a shape="rect" href="camelcontext.html">CamelContext</a> then a <strong><code>MetricsRegistryService</code></strong> MBean is enlisted under the services type in the JMX tree. That MBean has a single operation to output the statistics using JSON. Setting <strong><code>us
eJmx</code></strong> to true is only needed if you want fine grained MBeans per statistics type.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>jmxDomain</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>org.apache.camel.metrics</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The JMX domain name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prettyPrint</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to use pretty print when outputting statistics in JSON format.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>metricsRegistry</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1" rowspan="1" class="confluenceTd"><p>Allow to use a shared <strong><code>com.codahale.metrics.MetricRegistry</code></strong>. If one is not prov
ided Camel will create a shared instance for use by the <strong><code>CamelContext</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rateUnit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>TimeUnit.SECONDS</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The unit to use for rate in the metrics reporter or when dumping the statistics as JSON.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>durationUnit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>TimeUnit.MILLISECONDS</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The unit to use for duration in the metrics reporter or when dumping the statistics as JSON</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>namePattern</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>##name##.##routeId##.###id###.##type##</code></p></td><td colspan
="1" rowspan="1" class="confluenceTd"><p>The name pattern to use. Uses dot as separators, but you can change that. The values <strong><code>##name##</code></strong>, <strong><code>##routeId##</code></strong>, <strong><code>##type##</code></strong>, and <strong><code>###id###</code></strong> will be replaced with actual value. <span>Where <strong><code>###name###</code></strong> is the name of the <strong><code>CamelContext.###routeId###</code></strong> is the name of the route. </span>The <strong><code>###id###</code></strong> pattern represents the node id, where <strong><code>###type###</code></strong> is the value of history.</p></td></tr></tbody></table></div><p>At runtime the metrics can be accessed from Java API or JMX which allows to gather the data as JSON output.</p><p>In Java, get the service from the <strong>CamelContext</strong> as shown:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[MetricsMessageHistoryService service = context.hasService(MetricsMessageHistoryService.class);
String json = service.dumpStatisticsAsJson();]]></script>
</div></div><p>And the JMX API the MBean is registered in the <strong><code>type=services</code> tree with <code>name=MetricsMessageHistoryService</code></strong>. </p><p> </p></div>