如何使用 Java prometheus sdk 创建带有标签的 Gauge 指标?

Pro*_*oli 5 spring-boot spring-boot-actuator prometheus micrometer spring-micrometer

我有一个 springboot Kotlin Web 服务,它使用 Actuator ( spring-boot-starter-actuator) 和 micrometer ( micrometer-registry-prometheus) 将指标公开给 prometheus scraper。

为了监视队列中操作的大小,我使用自定义仪表

val gauge = Gauge.build()
        .name("operation_queue_size")
        .help("Size of queue")
        .register(collectorRegistry)

# later
gauge.inc()
# or
gauge.dec()
Run Code Online (Sandbox Code Playgroud)

我想改进这个指标,添加一个代表队列中操作类型的标签,但在 Builder 类上没有找到任何合适的方法。

目标是公开如下指标:

operation_queue_size{op_type="deletions"} 999
operation_queue_size{op_type="insertions"} 999
Run Code Online (Sandbox Code Playgroud)

谢谢。

Pro*_*oli 4

我找到了解决方案:

val gauge = Gauge.build()
        .name("ic_queue_size")
        .help("Size of queue")
        .labelNames("op_type")
        .register(collectorRegistry)

# later
gauge.labels("deletions").inc()
# or
gauge.labels("deletions").dec()
Run Code Online (Sandbox Code Playgroud)

很难找到的原因是这个库使用了这个术语labels,而普罗米修斯文档将它们称为tags