#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
        )

  • No labels