我能帮您翻译成中文:我可以在Python中设置Prometheus标签的默认值吗?

7
我正在使用官方的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 的限制?

2个回答

4

您必须始终指定所有标签,否则我们怎么知道要递增哪个系列?您可以将空字符串指定为标签值,但这可能会让用户感到困惑。


4

全局设置 (即在计数器创建时仅设置一次)-- 但稍后可以选择性地覆盖

也就是说,我可以在计数器初始化时设置标签... 但是我将不能在实际的增加调用中进行覆盖。

创建计数器时设置 '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()

可能有点巧妙,因为labelvalues最近变成了私有成员。 - Mo Kanj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接