【发布时间】:2021-04-16 12:44:58
【问题描述】:
我是否可以配置要添加到@Timed 指标的标签?我知道重写 MebMvcTagsProvider 或 WebMvcTagsContributor 类将返回所有 mvc 指标通用的标准标签集。但是有什么方法可以排除或包含某些指标的动态值的标签?就像在这种情况下:
WebMvcTagsProvider object -> provides a set of tags whose values like status etc. are set here -> tag1, val1; tag2, val2
然后我们有一个像这样的rest api:
@Timed("metric.1")
public String api1() {}
还有一个类似这样的 api:
@Timed("metric.2")
public String api2() {}
因此,在调用这两个 api 之后,我们将获得这些指标,它们都具有相同的标签集
metric-1(tag1="val1", tag2="val2", status=201)
metric-2(tag1="val1", tag2="val2", status=200)
但是我们能否为这两个指标返回不同的标签集,如下所示:
metric-1(tag1="val1", status=201)
metric-2(tag2="val2", status=200)
我找到了一个 WebMvcMetricsFilter 类,它是所有指标生成计时器的过程,有什么方法可以利用它来配置基于指标名称返回的标签吗?
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: java spring-boot spring-boot-actuator spring-micrometer