我可以在 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()
我正在使用官方 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()