Simple Pattern
The pattern is a state machine implementation that detects event occurrences from events arrived via one or more event streams over time.
This application demonstrates a simple pattern use case of detecting high-temperature event occurrence of a continuous event stream.
define stream TemperatureStream(roomNo int, temp double);
@sink(type = 'log')
define Stream HighTempAlertStream(roomNo int,
initialTemp double, finalTemp double);
@info(name='temperature-increase-identifier')
from every( e1 = TemperatureStream ) ->
e2 = TemperatureStream[ e1.roomNo == roomNo
and (e1.temp + 5) <= temp ]
within 10 min
select e1.roomNo, e1.temp as initialTemp, e2.temp as finalTemp
insert into HighTempAlertStream;
|
Defines |
|
|
|
Defines |
|
|
|
Identify if the temperature of a room increases by 5 degrees within 10 min. |
|
This application sends an alert if the temperature of a room increases by 5 degrees within 10 min.
Input
Below events are sent to TemperatureStream within 10 minutes,
[2, 35]
[2, 37]
[2, 40]
Output
After processing the above input events, the event arriving at HighTempAlertStream will be as follows:
[2, 35.0, 40.0]
