有没有办法将 Micrometer @Timed 注释捕获到 Prometheus 指标 store/registry 中?
Is there a way to capture the Micrometer @Timed annotation into the Prometheus metrics store/registry?
我想将来自 Micrometer 的 @Timed 注释的数据捕获到 Prometheus 指标中 store/registry。我找不到关于如何在线执行此操作的任何解释。
这些是我使用的版本:
compile 'org.springframework.boot:spring-boot-starter-web:2.1.4.RELEASE' // This already includes micrometer I believe
compile "io.micrometer:micrometer-registry-prometheus:1.1.4'
我正在尝试为存储库调用计时:
interface HouseRepository {
@Timed
@Query(some long complicated query)
House deleteByAddressAndLastModifiedBefore(
Address address,
Instant instant
)
}
我该怎么做?我尝试在 @Timer 注释中添加一些不同的配置,例如:
@Timed(description = 'this.is.my.metric', value = 'my.metric', extraTags = ['my.metric.name', 'test'])
但是我在 Prometheus (/prometheus) 中看不到我的输出。
当然可以,这可以吗?
根据 micrometer docs:
Micrometer’s Spring Boot configuration does not recognize @Timed on arbitrary methods.
要使 @Timed
注释按您希望的方式工作,您可能需要配置一个 TimedAspect
bean。
@Configuration
public class TimedConfiguration {
@Bean
public TimedAspect timedAspect(MeterRegistry registry) {
return new TimedAspect(registry);
}
}
Applying TimedAspect
makes @Timed
usable on any arbitrary method.
我想将来自 Micrometer 的 @Timed 注释的数据捕获到 Prometheus 指标中 store/registry。我找不到关于如何在线执行此操作的任何解释。
这些是我使用的版本:
compile 'org.springframework.boot:spring-boot-starter-web:2.1.4.RELEASE' // This already includes micrometer I believe
compile "io.micrometer:micrometer-registry-prometheus:1.1.4'
我正在尝试为存储库调用计时:
interface HouseRepository {
@Timed
@Query(some long complicated query)
House deleteByAddressAndLastModifiedBefore(
Address address,
Instant instant
)
}
我该怎么做?我尝试在 @Timer 注释中添加一些不同的配置,例如:
@Timed(description = 'this.is.my.metric', value = 'my.metric', extraTags = ['my.metric.name', 'test'])
但是我在 Prometheus (/prometheus) 中看不到我的输出。
当然可以,这可以吗?
根据 micrometer docs:
Micrometer’s Spring Boot configuration does not recognize @Timed on arbitrary methods.
要使 @Timed
注释按您希望的方式工作,您可能需要配置一个 TimedAspect
bean。
@Configuration
public class TimedConfiguration {
@Bean
public TimedAspect timedAspect(MeterRegistry registry) {
return new TimedAspect(registry);
}
}
Applying
TimedAspect
makes@Timed
usable on any arbitrary method.