如何对使用不同标签的多个指标名称使用相同的计数器对象
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}
我想记录多个指标名称的计数,例如 metricA、metricB、metricC 等等。 一种选择是像这样创建多个计数器对象
Counter
.builder("metricA")
.register(registry);
但是,这会导致很多我不满意的对象。
我想知道是否有办法对多个指标使用相同的计数器对象和记录计数。
有没有办法创建计数器,然后动态创建标签以获取相同的计数器对象并分别递增这些标签?
想法是在监控工具中使用相同的指标(米),并在同一图表中围绕标签进行分隔。
或者如果有一种方法可以创建一个带有 10 个标签并一次递增一个标签的计数器?
Micrometer 中的仪表由其唯一名称和标签组合标识。 仪表包含一种或指标数据类型,以向该仪表公开一个或多个指标特定。例如。一个计数器只保存一种数据类型:出现次数。其他一些仪表(例如计时器)公开了多个指标。至少一个计数,一个总和和一个滚动最大值。
对于您的情况,您不能使用计数器来记录 multiple/different 计数。
因此,如果您有一系列属于同一类的指标,您可以 "group" 使用相同的指标名称,但给它们一个具有特定值的标签以推断不同的 "family members"(演练-吃下)。 (或者不是通过推理没有标签的指标名称 - 如果您的监控解决方案允许这样做。)
例如
myops{op=foo}
myops{op=bar}
myops{op=baz}