221.6. プロデューサーの使用
各メーターにはタイプと名前があります。サポートされているタイプは、counter、distribution summary、および timer です。タイプが指定されていない場合、デフォルトでカウンターが使用されます。
メーター名は Simple 式として評価される文字列です。CamelMetricsName ヘッダー (以下を参照) を使用することに加えて、エクスチェンジデータに応じてメーターを選択できます。
オプションの tags URI パラメーターは、key=value 式で構成されるコンマ区切りの文字列です。key と value はどちらも Simple 式としても評価される文字列です。たとえば、URI パラメーター tags=X=${header.Y} は、ヘッダー Y の現在の値をキー X に割り当てます。
221.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");
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 を使用してログエントリーを書き込みます。