我可以在 python 中设置 Prometheus 标签的默认值吗?

Can I set a default value of Prometheus labels in python?

我正在使用官方 python (2.7) 客户端。

我想用一些标签定义一个指标,但我并不总是让它们发送所有标签。当我只发送其中一些时,我收到错误消息:

AttributeError: 'Counter' object has no attribute '_value'

这是我使用的代码:

c = Counter("counterTest, "explain this counter, labelnames=("label1", "label2",), namespace="namespace") 
c.labels(label1="1").inc(1)

这是 python 库的限制吗?或者这可能是 Prometheus 端的限制?

您必须始终指定所有标签,否则我们怎么知道您要递增的是哪个系列?您可以将空字符串指定为标签值,但这可能会给您的用户造成混淆。

全局设置(即在计数器创建时只设置一次)——但以后可选择覆盖.

即我可以在 Counter init 设置一次标签...但我将无法在实际的 inc 调用中覆盖。

在创建计数器时设置 'labelValues'。

counter = Counter(
                name="some name", documentation="some doc",
                labelnames=['label1', 'label2', 'label3'], labelvalues=['label 1 global value])

counter.labels(label2='some value', label3='some value2').inc()