考虑到我的日志中有许多带有时间测量的属性。我想计算它们每个比我的超时限制大多少次,例如 10 秒。
我目前能够多次运行非常相似的查询,如下所示:
fields context
| filter context.time_to_prepare > 10
| count(*) as count_slow_time_to_prepare by bin(10m)
fields context
| filter context.time_to_shine > 10
| count(*) as count_slow_time_to_shine by bin(10m)
.. 每个属性一个查询
如果我们可以在同一个查询中提取所有这些指标,那么绘图会更好也更容易。为此,所缺少的只是一些三元运算符或类似的东西。
我希望这样的事情会起作用:
fields context
| filter context.total_time > 0
| stats sum(if(context.time_to_prepare > 10,1,0)) as slow_time_to_prepare,
| sum(if(context.time_to_shine > 10,1,0)) as slow_time_to_shine ,
# .. one row for each attribute
| sum(if(context.time_to_move > 10,1,0)) as slow_time_to_move by bin(10m)
但这没有用。“如果”函数不存在。
那么,有什么办法可以制作三元if呢?