220.6. 생산자 사용

각 미터에는 유형 및 이름이 있습니다. 지원되는 유형은 counter,distribution summarytimer 입니다. 유형을 제공하지 않으면 기본적으로 카운터가 사용됩니다.

미터 이름은 Simple expression으로 평가되는 문자열입니다. CamelMetricsName 헤더(아래 참조)를 사용하는 것 외에도 교환 데이터에 따라 미터를 선택할 수 있습니다.

선택적 태그 URI 매개변수는 key=value 표현식으로 구성된 쉼표로 구분된 문자열입니다. 모두 Simple expression으로도 평가되는 문자열입니다. 예: URI 매개 변수 tags=X=${header.Y} 는 헤더 Y 의 현재 값을 X 키에 할당합니다.

220.6.1. headers

URI에 정의된 미터 이름은 CamelMetricsName 이라는 이름으로 헤더를 채우면 덮어쓸 수 있습니다. URI 매개변수로 정의된 미터 태그는 CamelMetricsTags 라는 이름으로 헤더를 채우면 보강할 수 있습니다.

예를 들면 다음과 같습니다

from("direct:in")
    .setHeader(MicrometerConstants.HEADER_METRIC_NAME, constant("new.name"))
    .setHeader(MicrometerConstants.HEADER_METRIC_TAGS, constant(Tags.of("dynamic-key", "dynamic-value")))
    .to("metrics:counter:name.not.used?tags=key=value")
    .to("direct:out");

은 값이 인 태그 키와 함께 dynamic- value 태그를 사용하여 name.not.used 대신 new.name 이라는 이름으로 카운터를 업데이트합니다.

Micrometer 엔드포인트가 교환 처리를 완료하면 모든 지표별 헤더가 메시지에서 제거됩니다. 교환 마이크로미터 끝점을 처리하는 동안 모든 예외를 처리하고 level warn 을 사용하여 로그 항목을 작성합니다.