def __init__(self): ''' ''Initialize a new SiddhiManager ''' SiddhiLoader.loadLibrary() self._siddhi_manager_proxy = SiddhiLoader.siddhi_api_core_inst.initSiddhiManager( )
def testTimeSeriesSimpleLinearRegression(self): logging.info("Simple Regression TestCase") SiddhiLoader.loadLibrary() siddhiManager = SiddhiManager() siddhiManager.setExtension( "timeseries:regress", "org.wso2.extension.siddhi.execution.timeseries.LinearRegressionStreamProcessor" ) inputStream = "define stream InputStream (y int, x int);" siddhiApp = "@info(name = 'query1') from InputStream#timeseries:regress(1, 100, 0.95, y, x) " + \ "select * " + \ "insert into OutputStream;" siddhiAppRuntime = siddhiManager.createSiddhiAppRuntime(inputStream + siddhiApp) self.betaZero = 0 _self_shaddow = self class QueryCallbackImpl(QueryCallback): def receive(self, timestamp, inEvents, outEvents): PrintEvent(timestamp, inEvents, outEvents) _self_shaddow.count.addAndGet(len(inEvents)) _self_shaddow.betaZero = inEvents[len(inEvents) - 1].getData(3) siddhiAppRuntime.addCallback("query1", QueryCallbackImpl()) inputHandler = siddhiAppRuntime.getInputHandler("InputStream") siddhiAppRuntime.start() inputHandler.send([2500.00, 17.00]) inputHandler.send([2600.00, 18.00]) inputHandler.send([3300.00, 31.00]) inputHandler.send([2475.00, 12.00]) inputHandler.send([2313.00, 8.00]) inputHandler.send([2175.00, 26.00]) inputHandler.send([600.00, 14.00]) inputHandler.send([460.00, 3.00]) inputHandler.send([240.00, 1.00]) inputHandler.send([200.00, 10.00]) inputHandler.send([177.00, 0.00]) inputHandler.send([140.00, 6.00]) inputHandler.send([117.00, 1.00]) inputHandler.send([115.00, 0.00]) inputHandler.send([2600.00, 19.00]) inputHandler.send([1907.00, 13.00]) inputHandler.send([1190.00, 3.00]) inputHandler.send([990.00, 16.00]) inputHandler.send([925.00, 6.00]) inputHandler.send([365.00, 0.00]) inputHandler.send([302.00, 10.00]) inputHandler.send([300.00, 6.00]) inputHandler.send([129.00, 2.00]) inputHandler.send([111.00, 1.00]) inputHandler.send([6100.00, 18.00]) inputHandler.send([4125.00, 19.00]) inputHandler.send([3213.00, 1.00]) inputHandler.send([2319.00, 38.00]) inputHandler.send([2000.00, 10.00]) inputHandler.send([1600.00, 0.00]) inputHandler.send([1394.00, 4.00]) inputHandler.send([935.00, 4.00]) inputHandler.send([850.00, 0.00]) inputHandler.send([775.00, 5.00]) inputHandler.send([760.00, 6.00]) inputHandler.send([629.00, 1.00]) inputHandler.send([275.00, 6.00]) inputHandler.send([120.00, 0.00]) inputHandler.send([2567.00, 12.00]) inputHandler.send([2500.00, 28.00]) inputHandler.send([2350.00, 21.00]) inputHandler.send([2317.00, 3.00]) inputHandler.send([2000.00, 12.00]) inputHandler.send([715.00, 1.00]) inputHandler.send([660.00, 9.00]) inputHandler.send([650.00, 0.00]) inputHandler.send([260.00, 0.00]) inputHandler.send([250.00, 1.00]) inputHandler.send([200.00, 13.00]) inputHandler.send([180.00, 6.00]) sleep(1) self.assertEqual(50, self.count.get(), "No of events: ") self.assertTrue( 573.1418421169493 - 0.001 < self.betaZero < 573.1418421169493 + 0.001, "Beta0: " + str(573.1418421169493 - self.betaZero)) siddhiAppRuntime.shutdown()