是否可以在方法上使用 Spring-Boot 3 / Micrometer @Observed 注释,而无需观察为该方法生成指标?

问题描述 投票:0回答:1

我们遇到了一个问题,我们想要使用

@Observed
注释为代码中的方法创建跟踪范围,这很有帮助,但 Micrometer 似乎为每个方法生成一个指标,但帮助不大:好吧(我猜是为了跟踪表现?)。

有谁知道一种方法来告诉千分尺仅使用观察进行跟踪或仅用于指标而不是当前“两者”的默认行为?

java spring-boot metrics micrometer actuator
1个回答
0
投票

默认情况下,观察 API 不记录指标也不记录跨度。您需要注册处理程序来记录任何内容。这是 API 的“超能力”,你可以决定运行时你想要什么输出。我建议从头到尾观看此演讲:https://www.youtube.com/watch?v=Qyku6cR6ADY#t=14m23s

Spring Boot 另一方面,根据您的类路径为您注册处理程序:如果

micrometer-core
存在,它将注册
DefaultMeterHandler
来记录指标,如果 Micrometer Tracing 在类路径上,它将注册跟踪处理程序。

为了防止

DefaultMeterHandler
注册,您可以执行以下操作:

  • 从类路径中排除
    micrometer-core
  • 禁用创建处理程序的自动配置类
  • 创建您自己的
    ObservationRegistry
    并注册您自己的处理程序

顺便说一句,为什么你想发布跨度而不是指标?

© www.soinside.com 2019 - 2024. All rights reserved.