如何跟踪 esper 查询状态和所有 window 事件?

How to track esper query state and all window events?

例如

select * 来自 eventWindow.win.time(5 秒) group by attr1 having count(*) > 10;

想要每 1 秒跟踪一次上述查询的当前状态。我正在使用

每1秒输出一次

但是当查询满足所有条件时输出。

提前致谢。

你可以这样做:

insert into CountPerAttr1 select count(*) as cnt, * from eventWindow.win.time(5 sec) group by attr1

...然后

select * from CountPerAttr1(cnt > 10) // detect threshold

如果您想获得当前计数,可以在第一个语句中使用 "safeIterator" 或 "iterator"。如果你还想每 1 秒输出一次,你可以这样做:

select * from CountPerAttr1.std:unique(attr1) output snapshot every 1 sec

我认为您还可以使用 Esper "table" 功能以不同方式共享聚合状态。