2.15. メトリクス
概要
Camel 2.14 から利用可能
Camel は既に多くのメトリクスを提供し、Codahale メトリクスとの統合が Camel ルートに追加されています。これにより、エンドユーザーは、Codahale メトリクスを使用して収集されたメトリクスデータに、Camel のルーティング情報を追加できます。
Codahale メトリクスを使用するには、以下が必要です。
- camel-metrics コンポーネントの追加
- XML または Java コードでのルートメトリクスの有効化
パフォーマンスメトリクスは、それらを表示する方法がある場合にのみ使用可能であることに注意してください。メトリクスは JMX 上で利用できるため、JMX と統合できる監視ツールをすべて使用できます。さらに、実際のデータは 100% Codehale JSON です。
メトリクスルートポリシー
単一ルートの Codahale メトリクスを取得するには、ルートごとに MetricsRoutePolicy
を定義します。
Java DSL の場合、ルートのポリシーとして割り当てるための MetricsRoutePolicy
のインスタンスを作成します。以下に例を示します。
from("file:src/data?noop=true").routePolicy(new MetricsRoutePolicy()).to("jms:incomingOrders");
XML DSL の場合、ルートのポリシーとして指定された <bean>
を定義します。以下に例を示します。
<bean id="policy" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicy"/> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route routePolicyRef="policy"> <from uri="file:src/data?noop=true"/> [...]
メトリクスルートポリシーファクトリー
このファクトリーでは、Codahale メトリクスを使用してルート使用状況の統計を公開するルートごとに、RoutePolicy
を追加することができます。このファクトリーは、以下の例のように Java および XML で使用できます。
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"/>
以下に示すように、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(); ... }
オプション
MetricsRoutePolicyFactory
および MetricsRoutePolicy
は、以下のオプションをサポートします。
名前 | デフォルト | 説明 |
|
| メトリクスレポーターまたは統計を json 出力するときの期間に使用する単位。 |
|
| JXM ドメイン名。 |
|
共有 | |
|
| 統計情報を json 形式で出力する際に pretty print を使用するかどうか。 |
|
| メトリクスレポーターまたは統計を json 出力するときのレートに使用する単位。 |
|
|
CamelContext で JMX が有効になっている場合、JMX ツリーのサービスタイプの下に |