package com.iailab.framework.tracer.config; import io.micrometer.core.instrument.MeterRegistry; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * Metrics 配置类 * * @author iailab */ @AutoConfiguration @ConditionalOnClass({MeterRegistryCustomizer.class}) @ConditionalOnProperty(prefix = "iailab.metrics", value = "enable", matchIfMissing = true) // 允许使用 iailab.metrics.enable=false 禁用 Metrics public class IailabMetricsAutoConfiguration { @Bean public MeterRegistryCustomizer metricsCommonTags( @Value("${spring.application.name}") String applicationName) { return registry -> registry.config().commonTags("application", applicationName); } }