219.7. メトリクスタイプカウンター
metrics:counter:metricname[?options]
219.7.1. オプション
| 名前 | デフォルト | 説明 |
|---|---|---|
| increment | - | カウンターに追加する long 値 |
| decrement | - | カウンターから減算する long 値 |
increment も decrement も定義されていない場合、カウンター値は 1 ずつ増加します。increment と decrement の両方が定義されている場合、インクリメント操作のみが呼び出されます。
// update counter simple.counter by 7
from("direct:in")
.to("metric:counter:simple.counter?increment=7")
.to("direct:out");// increment counter simple.counter by 1
from("direct:in")
.to("metric:counter:simple.counter")
.to("direct:out");// decrement counter simple.counter by 3
from("direct:in")
.to("metrics:counter:simple.counter?decrement=3")
.to("direct:out");219.7.2. ヘッダー
メッセージヘッダーを使用して、メトリクスコンポーネント URI で指定された increment と decrement 値をオーバーライドできます。
| 名前 | 説明 | 想定されるタイプ |
|---|---|---|
| CamelMetricsCounterIncrement | URI のインクリメント値をオーバーライドする | Long |
| CamelMetricsCounterDecrement | URI のデクリメント値をオーバーライドする | Long |
// update counter simple.counter by 417
from("direct:in")
.setHeader(MetricsConstants.HEADER_COUNTER_INCREMENT, constant(417L))
.to("metrics:counter:simple.counter?increment=7")
.to("direct:out");// updates counter using simple language to evaluate body.length
from("direct:in")
.setHeader(MetricsConstants.HEADER_COUNTER_INCREMENT, simple("${body.length}"))
.to("metrics:counter:body.length")
.to("mock:out");