220.12. MetricsRoutePolicyFactory
이 팩토리를 사용하면 Dropwizard 메트릭을 사용하여 경로 사용률 통계를 노출하는 각 경로에 RoutePolicy를 추가할 수 있습니다. 아래 예제에서 설명하는 것처럼 Java 및 XML에서 이 팩토리를 사용할 수 있습니다.
MetricsRoutePolicyFactory를 사용하는 대신 원하는 경로당 MetricsRoutePolicy를 정의할 수 있습니다. 단, 몇 개의 선택한 경로만 조정하려는 경우입니다.
Java에서 다음과 같이 CamelContext
에 팩토리를 추가합니다.
context.addRoutePolicyFactory(new MetricsRoutePolicyFactory());
XML DSL에서 다음과 같이 <bean>을 정의합니다.
<!-- use camel-metrics route policy to gather metrics for all routes --> <bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/>
MetricsRoutePolicyFactory
및 MetricsRoutePolicy
는 다음 옵션을 지원합니다.
이름 | 기본 | 설명 |
---|---|---|
useJmx | false |
|
jmxDomain | org.apache.camel.metrics | Cryostat 도메인 이름 |
prettyPrint | false | json 형식으로 통계를 출력할 때 매우 인쇄를 사용할지 여부 |
metricsRegistry |
공유 | |
rateUnit | TimeUnit.SECONDS | 메트릭 보고기에서 또는 통계를 json으로 덤프할 때 사용할 단위입니다. |
durationUnit | TimeUnit.MILLISECONDS | 메트릭 보고자에서 또는 통계를 json으로 덤프할 때 사용할 단위입니다. |
namePattern |
|
Camel 2.17: 사용할 이름 패턴입니다. 점을 구분 기호로 사용하지만 변경할 수 있습니다. 값 |
다음과 같이 Java 코드에서 org.apache.camel.component.metrics.routepolicy.MetricsRegistryService
에서 com.codahale.metrics.MetricRegistry
Registry를 유지할 수 있습니다.
MetricRegistryService registryService = context.hasService(MetricsRegistryService.class); if (registryService != null) { MetricsRegistry registry = registryService.getMetricsRegistry(); ... }