I know how to trigger when an event occurs some time during a time window, like this:
select count(*) from MyEvent.win:time(10 sec) having count(*) >= 3
But how to trigger when no event occurs during 10 seconds?
Here is one way:
select * from pattern[every(timer:interval(10) and not MyEvent)]
There is a solution patterns page in Esper documentation that has some more information on detecting absences.