219.6. メトリクスタイプカウンター

metrics:counter:metricname[?options]

219.6.1. オプション

名前デフォルト説明

increment 

-

カウンターに追加する long 値

decrement

-

カウンターから減算する long 値

incrementdecrement も定義されていない場合、カウンター値は 1 ずつ増加します。incrementdecrement の両方が定義されている場合、インクリメント操作のみが呼び出されます。 

// 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("metric:counter:simple.counter?decrement=3")
    .to("direct:out");

219.6.2. ヘッダー

メッセージヘッダーを使用して、メトリクスコンポーネント URI で指定された incrementdecrement 値をオーバーライドできます。

名前説明想定されるタイプ

CamelMetricsCounterIncrement 

URI のインクリメント値をオーバーライドする

Long

CamelMetricsCounterDecrement 

URI のデクリメント値をオーバーライドする

Long

// update counter simple.counter by 417
from("direct:in")
    .setHeader(MetricsConstants.HEADER_COUNTER_INCREMENT, constant(417L))
    .to("metric: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");