如何对使用不同标签的多个指标名称使用相同的计数器对象

How to use the same Counter object for multiple metric names using different tags

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

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

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

我想知道是否有办法对多个指标使用相同的计数器对象和记录计数。

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

想法是在监控工具中使用相同的指标(米),并在同一图表中围绕标签进行分隔。

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

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

对于您的情况,您不能使用计数器来记录 multiple/different 计数。

因此,如果您有一系列属于同一类的指标,您可以 "group" 使用相同的指标名称,但给它们一个具有特定值的标签以推断不同的 "family members"(演练-吃下)。 (或者不是通过推理没有标签的指标名称 - 如果您的监控解决方案允许这样做。)

例如

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