A 创建了一个简单的 micronaut 应用程序,用于公开微米指标。我想添加自定义标签,但是执行此操作的 bean 不会在启动时加载。
我错过了什么? 备注:在本地电脑上使用intellj启动时不会出现这种情况。但部署在 k8s 上确实可以工作。
bean :
@Factory
open class MeterFilterFactory {
@Bean
@Singleton
fun addCommonTags(): MeterFilter {
return MeterFilter.commonTags(
Arrays.asList(
Tag.of("service", "my-super-service"),
Tag.of("special", "tag comes here")
)
)
}
}
应用程序配置
micronaut:
metrics:
enabled: true
sensitive: true
export:
prometheus:
enabled: true
step: PT1M
descriptions: true
distribution:
percentiles-histogram:
http.server.requests: true
sla:
http.server.requests: 1ms,5ms
binders:
logback:
enabled: false
processor:
enabled: false
uptime:
enabled: false
构建梯度
compile "io.micronaut.configuration:micronaut-micrometer-registry-statsd"
compile "io.micronaut:micronaut-management"
compile "io.micronaut.configuration:micronaut-micrometer-registry-prometheus"
现在我回来了
{"name":"system.cpu.usage","measurements":[{"statistic":"VALUE","value":0.07751937984496124}]}
但我错过了我尝试添加的标签。
最佳答案
如果用@Context
标记bean,则bean将在上下文初始化时初始化。请参阅https://docs.micronaut.io/1.0.5/api/io/micronaut/context/annotation/Context.html .
希望对您有所帮助。
关于kotlin - 如何修复应用程序启动时未加载的 micronaut micrometer bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55651640/