220.6. プロデューサーの使用

各メーターにはタイプと名前があります。サポートされているタイプは、counterdistribution summary、および timer です。タイプが指定されていない場合、デフォルトでカウンターが使用されます。

メーター名は Simple 式として評価される文字列です。CamelMetricsName ヘッダー (以下を参照) を使用することに加えて、エクスチェンジデータに応じてメーターを選択できます。

オプションの tags URI パラメーターは、key=value 式で設定されるコンマ区切りの文字列です。keyvalue はどちらも Simple 式としても評価される文字列です。たとえば、URI パラメーター tags=X=${header.Y} は、ヘッダー Y の現在の値をキー X に割り当てます。

220.6.1. ヘッダー

URI で定義されたメーター名は、ヘッダーに CamelMetricsName という名前を入力することでオーバーライドできます。URI パラメーターとして定義されたメータータグは、CamelMetricsTags という名前のヘッダーを設定することで拡張できます。

以下に例を示します。

from("direct:in")
    .setHeader(MicrometerConstants.HEADER_METRIC_NAME, constant("new.name"))
    .setHeader(MicrometerConstants.HEADER_METRIC_TAGS, constant(Tags.of("dynamic-key", "dynamic-value")))
    .to("metrics:counter:name.not.used?tags=key=value")
    .to("direct:out");

value を持つタグ key に加えて、値 dynamic-value を持つタグ dynamic-key を使用して、name.not.used の代わりに new.name という名前のカウンターを更新します。

Micrometer エンドポイントがエクスチェンジの処理を完了すると、すべてのメトリクス固有のヘッダーがメッセージから削除されます。exchange Micrometer エンドポイントの処理中に、すべての例外をキャッチし、level warn を使用してログエントリーを書き込みます。