spring 千分尺的 @Counted 注释可以忽略标签吗?

Can @Counted annotation for spring micrometer ignore a label?

我在我的应用程序中使用 Spring 千分尺将指标流向 Prometheus。我有一个要求,我需要在 @Counted 注释的标签内发送一个唯一的 ID 和错误代码。有没有可能忽略id只根据错误码计数?

我的代码被删掉了 -

@Counted(name = "my_metric",
            labels = {"error_code:[=11=]", "unique_id:"})

我通过 /prometheus 端点得到了什么-

my_metric_total{error_code="test-1",unique_id="id-1"} 1.0
my_metric_total{error_code="test-1",unique_id="id-2"} 1.0

我想要通过 /prometheus 端点-

my_metric_total{error_code="test-1",unique_id="id-1"} 1.0
my_metric_total{error_code="test-1",unique_id="id-2"} 2.0

增量应该仅基于 error_code 发生。这可能使用@Counted 注释吗?

这是不可能的,因为仪表“由其名称和维度唯一标识”,这意味着度量名称和标签构成仪表的单独实例,因此它当您查询普罗米修斯端点时将有两个条目。

根据您想要实现的目标,您可以在其他地方(例如 Grafana)聚合不同的指标。

举个例子,使用 PromQL sum by (error_code)... 中的 sum 会给你聚合值。