4

我想记录多个指标名称的计数,例如 metricA、metricB、metricC 等等。一种选择是像这样创建多个计数器对象

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

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

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

有没有办法创建计数器,然后动态创建标签,获取相同的计数器对象并分别在这些标签上递增?

这个想法是在监视工具中使用相同的度量(米),并在同一图表中的标签周围进行分隔。

或者,如果有一种方法可以创建一个带有 10 个标签并一次增加一个标签的计数器仪表?

4

1 回答 1

4

Micrometer 中的仪表由其唯一的名称和标签组合标识。一个计量器拥有一个或多个指标数据类型,以公开一个或多个特定于该计量器的指标。例如,一个计数器只保存一种数据类型:出现次数。其他一些计量器(如计时器)会公开多个指标。至少一个计数,一个总和和一个滚动最大值。

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

因此,如果您有一组属于一起的指标,您可以按相同的计量名称“分组”它们,但给它们一个带有特定值的标签,以推断不同的“家庭成员”(向下钻取)。(或者不只是推理没有标签的指标名称 - 如果您的监控解决方案允许这样做。)

例如

myops{op=foo}
myops{op=bar}
myops{op=baz}
于 2019-01-10T21:42:29.533 回答