#PARSER PQL #RUNQUERY /// Operator 1 bm05 = PROJECT({ id='2', attributes=['ts','pp04'] }, gchSource ) s05 = RENAME({ type='s05', aliases = ['ts', 'edge'] }, CHANGEDETECT({ attr=['pp04'], heartbeatrate=10 }, bm05 ) ) /// Operator 2 bm06 = PROJECT({ attributes=['ts','pp05'] }, gchSource ) s06 = RENAME({ type='s06', aliases = ['ts', 'edge'] }, CHANGEDETECT({ attr=['pp05'], heartbeatrate=10 }, bm06 ) ) /// Operator 3 bm07 = PROJECT({ attributes=['ts','pp04'] }, gchSource ) s07 = RENAME({ type='s07', aliases = ['ts', 'edge'] }, CHANGEDETECT({ attr=['pp04'], heartbeatrate=10 }, bm07 ) ) /// Operator 4 bm08 = PROJECT({ attributes=['ts','pp05'] }, gchSource ) s08 = RENAME({ type='s08', aliases = ['ts', 'edge'] }, CHANGEDETECT({ attr=['pp05'], heartbeatrate=10 }, bm08 ) ) /// Operator 5 bm09 = PROJECT({ attributes=['ts','pp06'] }, gchSource ) s09 = RENAME({ type='s09', aliases = ['ts', 'edge'] }, CHANGEDETECT({ attr=['pp06'], heartbeatrate=10 }, bm09 ) ) /// Operator 6 bm10 = PROJECT({ attributes=['ts','pp06'] }, gchSource ) s10 = RENAME({ type='s10', aliases = ['ts', 'edge'] }, CHANGEDETECT({ attr=['pp06'], heartbeatrate=10 }, bm10 ) ) /// Operator 7 s58_t = SASE({ schema=[['ts1','long'],['ts2','long']], TYPE='s58', name='SEQ_5_8', heartbeatrate=1, onematchperinstance='true', query='PATTERN SEQ(s05 s1, s08 s2) where skip_till_any_match(s1,s2) {s1.edge = s2.edge} return s1.ts,s2.ts' }, s05, s08 ) s58 = RENAME({ type='s58', aliases = ['ts', 'dt'] }, MAP({ name='Duration_5_8', expressions = ['toLong(ts2)','toLong(ts2-ts1)'] }, s58_t ) ) /// Operator 8 s69_t = SASE({ schema=[['ts1','long'],['ts2','long']], type='s69', name='SEQ_6_9', heartbeatrate=1, onematchperinstance='true', query='PATTERN SEQ(s06 s1, s09 s2) where skip_till_any_match(s1,s2){s1.edge=s2.edge} return s1.ts,s2.ts' }, s06, s09 ) s69 = RENAME({ type='s69' }, MAP({ name='Duration_6_9', expressions = [['toLong(ts2)','ts'],['toLong(ts2-ts1)','dt']] }, s69_t ) ) /// Operator 9 s710_t = SASE({ schema=[['ts1','long'],['ts2','long']], type = 's710_t', name='SEQ_7_10', heartbeatrate=1, onematchperinstance='true', query='PATTERN SEQ(s07 s1, s10 s2) where skip_till_any_match(s1,s2){s1.edge=s2.edge} return s1.ts,s2.ts' }, s07, s10 ) s710 = RENAME({ type='s710', aliases = ['ts', 'dt'] }, MAP({ name='Duration_7_10', expressions = ['toLong(ts2)','toLong(ts2-ts1)'] }, s710_t ) ) /// 24 hour sliding WINDOW s58_WINDOWed = TIMEWINDOW({ name='24HourSliding', SIZE = [24, 'HOURS'] }, s58 ) s69_WINDOWed = TIMEWINDOW({ name='24HourSliding', SIZE = [24, 'HOURS'] }, s69 ) s710_WINDOWed = TIMEWINDOW({ name='24HourSliding', SIZE = [24, 'HOURS'] }, s710 ) /// Operator 10 sout10_agg = AGGREGATE({ name='MIN_MAX_MAX', aggregations=[ ['MIN', 'dt', 'dtmin', 'long'], ['MAX', 'dt', 'dtmax', 'long'], ['MAX', 'ts', 'ts', 'long'] ] }, s58_WINDOWed ) sout10 = RENAME({ name='Alarm_10', aliases = ['alarm', 'ts'] }, MAP({ expressions=['1', 'ts'] }, SELECT({ predicate=RelationalPredicate('dtmin<dtmax/1.01') }, sout10_agg ) ) ) /// Operator 11 reg11 = REGRESSION({ x='ts', y='dt' }, s58_WINDOWed ) /// Operator 12 sout12_agg = AGGREGATE({ name='MIN_MAX_MAX', dumpatvaluecount=1, aggregations=[ ['MIN', 'dt', 'dtmin', 'long'], ['MAX', 'dt', 'dtmax', 'long'], ['MAX', 'ts', 'ts', 'long'] ] }, s69_WINDOWed ) /// Set Predicate to true for latency calculations sout12 = RENAME({ name='Alarm_12', aliases = ['alarm', 'ts'] }, MAP({ expressions=['1', 'ts'] }, SELECT({ predicate=RelationalPredicate('dtmin<dtmax/1.01') }, sout12_agg ) ) ) /// Operator 13 reg13 = REGRESSION({ x='ts', y='dt' }, s69_WINDOWed ) /// Operator 14 sout14_agg = AGGREGATE({ name='MIN_MAX_MAX', dumpatvaluecount=1, aggregations=[ ['MIN', 'dt', 'dtmin', 'long'], ['MAX', 'dt', 'dtmax', 'long'], ['MAX', 'ts', 'ts', 'long'] ] }, s710_WINDOWed ) /// Set Predicate to true for latency calculations sout14 = RENAME({ name='Alarm_14', aliases = ['alarm', 'ts'] }, MAP({ expressions=['1', 'ts'] }, SELECT({ predicate=RelationalPredicate('dtmin<dtmax/1.01') }, sout14_agg ) ) ) /// Operator 15 reg15 = REGRESSION({ x='ts', y='dt' }, s710_WINDOWed )