220.7. Counter
micrometer:counter:name[?options]
220.7.1. オプション
名前 | デフォルト | 説明 |
---|---|---|
increment | - | カウンターに追加する double 値 |
decrement | - | カウンターから減算する double 値 |
increment
も decrement
も定義されていない場合、カウンター値は 1 ずつ増加します。increment
と decrement
の両方が定義されている場合、インクリメント操作のみが呼び出されます。
// update counter simple.counter by 7 from("direct:in") .to("micrometer:counter:simple.counter?increment=7") .to("direct:out");
// increment counter simple.counter by 1 from("direct:in") .to("micrometer:counter:simple.counter") .to("direct:out");
increment
値と decrement
値の両方が、結果が Double の Simple
式として評価されます。たとえば、ヘッダー X
に 3.0 に評価される値が含まれている場合、simple.counter
カウンターは 3.0 だけ減分されます。
// decrement counter simple.counter by 3 from("direct:in") .to("micrometer:counter:simple.counter?decrement=${header.X}") .to("direct:out");
220.7.2. ヘッダー
camel-metrics
のように、特定の Message ヘッダーを使用して、Micrometer エンドポイント URI で指定された increment
値と decrement
値をオーバーライドできます。
名前 | 説明 | 想定されるタイプ |
---|---|---|
CamelMetricsCounterIncrement | URI のインクリメント値をオーバーライドする | double |
CamelMetricsCounterDecrement | URI のデクリメント値をオーバーライドする | double |
// update counter simple.counter by 417 from("direct:in") .setHeader(MicrometerConstants.HEADER_COUNTER_INCREMENT, constant(417.0D)) .to("micrometer:counter:simple.counter?increment=7") .to("direct:out");
// updates counter using simple language to evaluate body.length from("direct:in") .setHeader(MicrometerConstants.HEADER_COUNTER_INCREMENT, simple("${body.length}")) .to("micrometer:counter:body.length") .to("direct:out");