auto-configure.camel-micrometer.joor Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var answer = "";
var registry = context.getRegistry();
var mr = registry.lookupByNameAndType("metricsRegistry", io.micrometer.core.instrument.MeterRegistry.class);
if (mr == null) {
// automatic create metrics registry
answer = "Auto-configuring camel-micrometer: Creating default MeterRegistry";
mr = new io.micrometer.core.instrument.simple.SimpleMeterRegistry();
registry.bind("metricsRegistry", mr);
// also setup metrics as route policy factory to capture route level details
var rpf = new org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory();
rpf.setMeterRegistry(mr);
context.addRoutePolicyFactory(rpf);
// and setup dev console
var dcr = context.getExtension(org.apache.camel.console.DevConsoleRegistry.class);
if (dcr != null) {
dcr.register(new org.apache.camel.component.micrometer.MicrometerConsole());
}
}
return answer;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy