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
会给你聚合值。
我在我的应用程序中使用 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
会给你聚合值。