使用 Grails 为 MeterRegistryCustomizer 注册 bean

Register bean with Grails for MeterRegistryCustomizer

遵循 Spring Boot Metrics documentation,我能够轻松地为 datadog 设置指标日志记录。唯一剩下的就是为我的实例设置自定义标签。使用 Spring 引导,您可以通过注册一个新 bean 来完成:

@Bean
MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
    return registry -> registry.config().commonTags("region", "us-east-1");
}

但是,我无法在 Grails 3 中注册它。在 resource.groovy 和主应用程序 class Application.groovy 中都没有。有什么方法可以在 Grails 3 中进行设置吗?

在 Grails 3 中,您应该将以下代码放入 grails-app/conf/spring/resources.groovy:

import io.micrometer.core.instrument.MeterRegistry
import io.micrometer.spring.autoconfigure.MeterRegistryCustomizer

class CommonTagCustomizer implements MeterRegistryCustomizer<MeterRegistry> {

    void customize(MeterRegistry registry) {
        registry.config().commonTags("host", "myapp-dev")
    }
}

beans = {
    commonTags(CommonTagCustomizer) {}
}