220.7. Counter

micrometer:counter:name[?options]

220.7.1. オプション

名前デフォルト説明

increment 

-

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

decrement

-

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

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

// 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");