代码之家  ›  专栏  ›  技术社区  ›  James Hiew

PromQL分式查询在需要标量值时返回“null”

  •  0
  • James Hiew  · 技术社区  · 6 年前

    我有一个布尔度量(也就是说,samples只是两个整数中的一个 0 1 )已调用 my_boolean_metric . 它有各种标签,包括一个标签 outcome 在价值观范围内 {"success", "failure"} . 我正在尝试一个小数查询,该查询应始终返回介于 0个 1个 包容的。

    分子查询返回 我的布尔度量 与给定标签匹配的时间序列,或 0个 如果没有这样的时间序列。

    (count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}) or (1 - absent(my_boolean_metric{app="abc", team=~"nirvana", instance=~"bar", outcome="success"})))

    返回的值是介于 0个 n 包容的。

    我的布尔度量 与给定标签匹配的时间序列,与分子查询不同,它不关心“结果”标签。

    count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar"})

    这个值总是整数 .

    null (即在Prometheus/Thanos用户界面中“找不到数据点”),即使每个单独测试的查询返回一个整数。

    (count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}) or (1 - absent(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}))) / count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar"})

    (count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}) or (1 - absent(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}))) / 9

    我的分数查询有什么问题?

    0 回复  |  直到 6 年前