220.12. MetricsRoutePolicyFactory
このファクトリーを使用すると、Dropwizard メトリクスを使用してルート使用率の統計情報を公開するルートごとに RoutePolicy を追加できます。このファクトリーは、以下の例のように Java および XML で使用できます。
MetricsRoutePolicyFactory を使用する代わりに、選択した少数のルートのみを計測する場合に備えて、計測するルートごとに MetricsRoutePolicy を定義できます。
				Java の場合は、以下のようにファクトリーを CamelContext に追加します。
			
context.addRoutePolicyFactory(new MetricsRoutePolicyFactory());
context.addRoutePolicyFactory(new MetricsRoutePolicyFactory());XML DSL の場合は、<bean> を以下のように定義します。
<!-- use camel-metrics route policy to gather metrics for all routes --> <bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/>
  <!-- use camel-metrics route policy to gather metrics for all routes -->
  <bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/>
				MetricsRoutePolicyFactory および MetricsRoutePolicy は、以下のオプションをサポートします。
			
| 名前 | デフォルト | 説明 | 
|---|---|---|
| useJmx | false | 
								 | 
| jmxDomain | org.apache.camel.metrics | JMX ドメイン名 | 
| prettyPrint | false | 統計情報を json 形式で出力する際に pretty print を使用するかどうか | 
| metricsRegistry | 
								共有  | |
| rateUnit | TimeUnit.SECONDS | メトリクスレポーターまたは統計を json 出力するときのレートに使用する単位。 | 
| durationUnit | TimeUnit.MILLISECONDS | メトリクスレポーターまたは統計を json 出力するときの期間に使用する単位。 | 
| namePattern | 
								 | 
								Camel 2.17: 使用する名前パターン。セパレータとしてドットを使用しますが、これは変更できます。値  | 
				以下に示すように、Java コードからは、org.apache.camel.component.metrics.routepolicy.MetricsRegistryService から com.codahale.metrics.MetricRegistry を取得できます。
			
MetricRegistryService registryService = context.hasService(MetricsRegistryService.class);
if (registryService != null) {
  MetricsRegistry registry = registryService.getMetricsRegistry();
  ...
}
MetricRegistryService registryService = context.hasService(MetricsRegistryService.class);
if (registryService != null) {
  MetricsRegistry registry = registryService.getMetricsRegistry();
  ...
}