首页 > 解决方案 > 是否有可能在运行时添加自定义 Spring Boot 指标标签?

问题描述

我正在使用带有 micrometer-registry-prometheus 的 Spring Boot,尝试存储来自 http 标头、安全上下文等的自定义标签。

于是我找到了 MeterFilter iterface,并尝试用它来存储我需要的数据。

但是 MeterFilter 方法在请求完成后起作用,所以那时我没有任何关于请求的信息。

似乎这种情况很常见,有没有可能实现它?

标签: javaspringspring-bootmetrics

解决方案


如果您使用 Spring MVC,您可以定义一个 bean,该 bean 实现WebMvcTagsProvider完全控制添加到请求-响应交换指标的标签。或者,您可以定义一个实现WebMvcTagsContributor添加到默认标签的 bean。同样,如果您使用 Spring WebFlux,您可以定义实现WebFluxTagsProviderWebFluxTagsContributor完全控制标签的 bean,并分别贡献额外的标签。


推荐阅读