220.7. Counter
micrometer:counter:name[?options]
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");
// 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 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");
// 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");
// 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");
// 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");