我有一系列日志,我根据发生的某些步骤(基于该行中的数据)对它们进行分组
在序列正式结束(步骤4)之后,一个步骤可能被重复多次,我想拒绝总结语句中的那些。
在下表中,第一组应该在第1行和第6行之间,第二组应该在第9行和第14行之间。我将按组总结这些记录,但是我想拒绝在步骤4之后出现的每个序列的记录。
示例数据
<表类>
行
时间戳
步组大事记看来 tbody><<tr>1 2000 - 07 - 01 t16:51 1 1 init 22000 - 07 - 01 t16:52 2 1 开始 3 2000 - 07 - 01 t16:53 3 1 20% 42000 - 07 - 01 t16:53 3 1 21% 52000 - 07 - 01 t16:53 3 1 23% 62000 - 07 - 01 t16:54 4 1 结束 72000 - 07 - 01 t16:55 3 1 19% 82000 - 07 - 01 t16:56 3 1 18% 9 2000 - 07 - 01 t16:57 1 2 init 102000 - 07 - 01 t16:58 2 2 开始 112000 - 07 - 01 t16:59 3 2 45% 12 2000 - 07 - 01 t17:00 3 2 47% 132000 - 07 - 01 t17:01 3 2 52% 142000 - 07 - 01 t17:02 4 2 结束 15 2000 - 07 - 01 t17:01 3 2 51% 16 2000 - 07 - 01 t17:02 3 2 48% 172000 - 07 - 01 t17:01 3 2 46% 18 2000 - 07 - 01 t17:02 3 2 43% 19 2000 - 07 - 01 t17:01 3 2 42% 202000 - 07 - 01 t17:02 3 2 41% 表类>
看起来已经有一个很棒的操作符了!感谢我的一位同事指出这一点。
scan
算子
https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/scan-operator
| scan with_match_id=m_id with
(
step s1: step== "1";
step s2: step!= "4" and timestamp - s1.timestamp <= 5m;
step s3: step== "4" and timestamp - s1.timestamp <= 5m;
)