219.5. Metric Registry

Camel Metrics コンポーネントは、デフォルトで、60 秒のレポート間隔を持つ Slf4jReporter を持つ MetricRegistry インスタンスを使用します。このデフォルトのレジストリーは、MetricRegistry Bean を提供することでカスタムレジストリーに置き換えることができます。アプリケーションに複数の MetricRegistry Bean が存在する場合、名前が metricRegistry のものが使用されます。

たとえば、Spring Java 設定を使用すると、次のようになります。

@Configuration
public static class MyConfig extends SingleRouteCamelConfiguration {

    @Bean
    @Override
    public RouteBuilder route() {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                // define Camel routes here
            }
        };
    }

    @Bean(name = MetricsComponent.METRIC_REGISTRY_NAME)
    public MetricRegistry getMetricRegistry() {
        MetricRegistry registry = ...;
        return registry;
    }
}

または CDI を使用:

class MyBean extends RouteBuilder {

    @Override
    public void configure() {
      from("...")
          // Register the 'my-meter' meter in the MetricRegistry below
          .to("metrics:meter:my-meter");
    }

    @Produces
    // If multiple MetricRegistry beans
    // @Named(MetricsComponent.METRIC_REGISTRY_NAME)
    MetricRegistry registry() {
        MetricRegistry registry = new MetricRegistry();
        // ...
        return registry;
    }
}