in extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerRecorder.java [68:117]
public void configure(CamelContext camelContext) {
if (config.enableRoutePolicy()) {
MicrometerRoutePolicyFactory factory = new MicrometerRoutePolicyFactory();
factory.setCamelContext(camelContext);
camelContext.addRoutePolicyFactory(factory);
if (config.namingStrategy().equals(MetricsNamingStrategy.LEGACY)) {
factory.setNamingStrategy(MicrometerRoutePolicyNamingStrategy.LEGACY);
}
MicrometerRoutePolicyConfiguration policyConfiguration = factory.getPolicyConfiguration();
if (config.routePolicyLevel().equals(RoutePolicyLevel.ALL)) {
factory.getPolicyConfiguration().setContextEnabled(true);
factory.getPolicyConfiguration().setRouteEnabled(true);
} else if (config.routePolicyLevel().equals(RoutePolicyLevel.CONTEXT)) {
factory.getPolicyConfiguration().setContextEnabled(true);
factory.getPolicyConfiguration().setRouteEnabled(false);
} else {
policyConfiguration.setContextEnabled(false);
policyConfiguration.setRouteEnabled(true);
}
config.routePolicyExcludePattern().ifPresent(policyConfiguration::setExcludePattern);
}
ManagementStrategy managementStrategy = camelContext.getManagementStrategy();
if (config.enableExchangeEventNotifier()) {
MicrometerExchangeEventNotifier eventNotifier = new MicrometerExchangeEventNotifier();
eventNotifier.setBaseEndpointURI(config.baseEndpointURIExchangeEventNotifier());
if (config.namingStrategy().equals(MetricsNamingStrategy.LEGACY)) {
eventNotifier.setNamingStrategy(
new MicrometerExchangeEventNotifierNamingStrategyLegacy(
config.baseEndpointURIExchangeEventNotifier()));
} else {
eventNotifier.setNamingStrategy(
new MicrometerExchangeEventNotifierNamingStrategyDefault(
config.baseEndpointURIExchangeEventNotifier()));
}
managementStrategy.addEventNotifier(eventNotifier);
}
if (config.enableRouteEventNotifier()) {
MicrometerRouteEventNotifier eventNotifier = new MicrometerRouteEventNotifier();
if (config.namingStrategy().equals(MetricsNamingStrategy.LEGACY)) {
eventNotifier.setNamingStrategy(MicrometerRouteEventNotifierNamingStrategy.LEGACY);
}
managementStrategy.addEventNotifier(eventNotifier);
}
}