是否可以在运行时添加自定义 spring 启动指标标签?
Is there a possibility to add custom spring boot metrics tags at runtime?
我正在使用 Spring 使用 micrometer-registry-prometheus 启动,尝试存储来自 http headers、安全上下文等的自定义标签
于是我找到了MeterFilter iterface,并尝试用它来存储我需要的数据。
但是 MeterFilter 方法在请求完成后起作用,所以那时我没有任何关于请求的信息。
好像这种情况很常见,有没有可能实现?
如果您使用 Spring MVC,您可以定义一个实现 WebMvcTagsProvider
的 bean,以完全控制添加到请求-响应交换指标的标签。或者,您可以定义一个实现 WebMvcTagsContributor
的 bean 以添加到默认标记。同样,如果您使用 Spring WebFlux,您可以定义实现 WebFluxTagsProvider
和 WebFluxTagsContributor
的 bean 以完全控制标签并分别提供额外的标签。
我正在使用 Spring 使用 micrometer-registry-prometheus 启动,尝试存储来自 http headers、安全上下文等的自定义标签
于是我找到了MeterFilter iterface,并尝试用它来存储我需要的数据。
但是 MeterFilter 方法在请求完成后起作用,所以那时我没有任何关于请求的信息。
好像这种情况很常见,有没有可能实现?
如果您使用 Spring MVC,您可以定义一个实现 WebMvcTagsProvider
的 bean,以完全控制添加到请求-响应交换指标的标签。或者,您可以定义一个实现 WebMvcTagsContributor
的 bean 以添加到默认标记。同样,如果您使用 Spring WebFlux,您可以定义实现 WebFluxTagsProvider
和 WebFluxTagsContributor
的 bean 以完全控制标签并分别提供额外的标签。