如何使用不同标签将同一Counter对象用于多个度量标准名称

时间:2019-01-09 19:10:56

标签: micrometer spring-micrometer

我想记录多个度量名称(例如metricA,metricB,metricC等)的计数。 一种选择是创建多个这样的计数器对象

Counter
.builder("metricA")
.register(registry);

但是,这将导致很多我不满意的对象。

我想知道是否可以使用相同的计数器对象并记录多个指标的计数。

有没有一种方法来创建计数器,然后在运行时创建标签以获取相同的计数器对象并分别在这些标签上递增?

想法是在监视工具中使用相同度量(米)的图,并在同一图形中的标签之间进行分隔。

或者是否有一种方法可以创建一个带有10个标签的计数器并一次增加一个标签?

1 个答案:

答案 0 :(得分:1)

千分尺中的仪表通过其唯一的名称和标签组合进行标识。 仪表拥有一种或度量数据类型,以向该仪表公开一个或多个特定于 的度量。例如。计数器仅保存一种数据类型:发生次数。其他一些计时器(例如计时器)会公开多个指标。至少有一个计数,一个总和和一个滚动最大值。

在您的情况下,您不能使用计数器来记录多个/不同的计数。

因此,如果您拥有一组度量标准,则可以按相同的计量表名称对它们进行“分组”,但是可以给它们提供一个带有特定值的标签,以说明不同的“家族成员”(向下钻取)。 (或者不是仅通过不带标签就可以推断出指标名称,以防您的监视解决方案允许这样做。)

例如

myops{op=foo}
myops{op=bar}
myops{op=baz}