209.11. MetricsRoutePolicyFactory
このファクトリーでは、Dropwizard メトリクスを使用してルート使用状況の統計を公開する各ルートに RoutePolicy を追加できます。このファクトリーは、以下の例のように Java および XML で使用できます。
MetricsRoutePolicyFactory を使用する代わりに、インストルメント化するルートごとに MetricsRoutePolicy を定義できます。この場合、一部の選択したルートのみをインストルメント化できます。
Java の場合は、以下のようにファクトリーを 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
は以下のオプションをサポートします。
Name | デフォルト | 説明 |
---|---|---|
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 コード tou から、以下のように org.apache.camel.component.metrics.routepolicy.MetricsRegistryService
から com.codahale.metrics.MetricRegistry
を保持することができます。
MetricRegistryService registryService = context.hasService(MetricsRegistryService.class); if (registryService != null) { MetricsRegistry registry = registryService.getMetricsRegistry(); ... }