使用指标的值作为另一个指标标签的值
Use metric's value as a value of another metric's label
是否可以将某个metric的值作为另一个metric的label值?
假设我有两个指标:metric_a
和 metric_b
。 metric_a
也有 some_label
标签。我想进行如下查询:
metric_a{some_label=metric_b}
你不能使用那样的指标,但是如果你想指定 metric_a
与 metric_b
共享一个标签值,你可以这样做:
metric_a and on (some_label) metric_b
你可以,尽管这很麻烦:
metric_a and count_values without() ("some_label", metric_b)
count_values
函数实质上是将 some_label
标签添加到您的 metric_b
,等于 metric_b
的值。实际值将是 1,但您对此不感兴趣,只是构建正确的标签集来过滤 metric_a
by.
此外,您可能需要注意如何体现您的价值。例如。有更多表示值 1 的方法("1"
、"1.0"
、"1e0"
等)并且 count_values
只会产生 "1"
作为输出。
是否可以将某个metric的值作为另一个metric的label值?
假设我有两个指标:metric_a
和 metric_b
。 metric_a
也有 some_label
标签。我想进行如下查询:
metric_a{some_label=metric_b}
你不能使用那样的指标,但是如果你想指定 metric_a
与 metric_b
共享一个标签值,你可以这样做:
metric_a and on (some_label) metric_b
你可以,尽管这很麻烦:
metric_a and count_values without() ("some_label", metric_b)
count_values
函数实质上是将 some_label
标签添加到您的 metric_b
,等于 metric_b
的值。实际值将是 1,但您对此不感兴趣,只是构建正确的标签集来过滤 metric_a
by.
此外,您可能需要注意如何体现您的价值。例如。有更多表示值 1 的方法("1"
、"1.0"
、"1e0"
等)并且 count_values
只会产生 "1"
作为输出。