219.13. MetricsMessageHistoryFactory
Camel 2.17에서 사용 가능
이 팩토리에서는 메시지를 라우팅하는 동안 메트릭을 사용하여 메시지 기록 성능 통계를 캡처할 수 있습니다. 모든 경로에서 각 노드에 대해 메트릭 타이머를 사용하여 작동합니다. 아래 예시와 같이 Java 및 XML에서 이 팩토리를 사용할 수 있습니다.
Java에서 다음과 같이 말리타리를 CamelContext
로 설정했습니다.
context.setMessageHistoryFactory(new MetricsMessageHistoryFactory());
context.setMessageHistoryFactory(new MetricsMessageHistoryFactory());
XML DSL에서 다음과 같이 <bean>을 정의합니다.
<!-- use camel-metrics message history to gather metrics for all messages being routed --> <bean id="metricsMessageHistoryFactory" class="org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory"/>
<!-- use camel-metrics message history to gather metrics for all messages being routed -->
<bean id="metricsMessageHistoryFactory" class="org.apache.camel.component.metrics.messagehistory.MetricsMessageHistoryFactory"/>
다음 옵션은 팩토리에서 지원됩니다.
이름 | 기본 | 설명 |
---|---|---|
useJmx | false |
|
jmxDomain | org.apache.camel.metrics | FlexVolume 도메인 이름 |
prettyPrint | false | json 형식으로 통계를 출력할 때 매우 인쇄할지 여부 |
metricsRegistry |
|
공유 |
rateUnit | TimeUnit.SECONDS | 메트릭 보고기 또는 통계를 json으로 덤프할 때 사용하는 단위입니다. |
durationUnit | TimeUnit.MILLISECONDS | 메트릭 보고에서 또는 통계를 json으로 덤프할 때 사용하는 단위입니다. |
namePattern |
|
사용할 이름 패턴입니다. dot를 구분 기호로 사용하지만 변경할 수 있습니다. 값 |
런타임 시 Java API 또는ECDHE에서 메트릭에 액세스할 수 있으므로 json 출력으로 데이터를 수집할 수 있습니다.
Java 코드에서 다음과 같이 CamelContext에서 서비스를 가져올 수 있습니다.
MetricsMessageHistoryService service = context.hasService(MetricsMessageHistoryService.class); String json = service.dumpStatisticsAsJson();
MetricsMessageHistoryService service = context.hasService(MetricsMessageHistoryService.class);
String json = service.dumpStatisticsAsJson();
그리고ECDHE API는 name=MetricsMessageHistoryService
가 있는 type=services
트리에 등록됩니다.