219.12. MetricsRoutePolicyFactory
このファクトリーを使用すると、Dropwizard メトリックを使用してルート使用率の統計を公開するルートごとに RoutePolicy を追加できます。このファクトリーは、以下の例のように Java および XML で使用できます。
MetricsRoutePolicyFactory を使用する代わりに、選択した少数のルートのみを計測する場合に備えて、計測するルートごとに MetricsRoutePolicy を定義できます。
Java DSL の場合は、以下のようにファクトリーを CamelContext
に追加します。
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"/>
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(); ... }