public OnePublisherToOneProcessorRawBatchThroughputTest() : base(TestName, 1000L * 1000L * 100L) { sequencer = new SingleProducerSequencer(BUFFER_SIZE, new YieldingWaitStrategy()); myRunnable = new MyRunnable(sequencer); sequencer.AddGatingSequences(myRunnable.GetSequence); }
public override void Run(EPServiceProvider epService) { var eplStatement = "create context MyContext start PayloadEvent end after 0.5 seconds"; epService.EPAdministrator.CreateEPL(eplStatement); var aggStatement = "@Name('select') context MyContext " + "select count(*) as theCount " + "from PayloadEvent " + "output snapshot when terminated"; var epAggStatement = epService.EPAdministrator.CreateEPL(aggStatement); var listener = new MyListener(); epAggStatement.Events += listener.Update; // start thread long numEvents = 10000000; var myRunnable = new MyRunnable(epService, numEvents); var thread = new Thread(myRunnable.Run); thread.Start(); thread.Join(); Thread.Sleep(1000); // assert Assert.IsNull(myRunnable.Exception); Assert.AreEqual(numEvents, listener.Total); }
public void Run(RegressionEnvironment env) { var path = new RegressionPath(); var eplStatement = "create context MyContext start PayloadEvent end after 0.5 seconds"; env.CompileDeploy(eplStatement, path); var aggStatement = "@Name('select') context MyContext " + "select count(*) as theCount " + "from PayloadEvent " + "output snapshot when terminated"; env.CompileDeploy(aggStatement, path); var listener = new MyListener(); env.Statement("select").AddListener(listener); // start thread long numEvents = 10000000; var myRunnable = new MyRunnable(env.Runtime, numEvents); var thread = new Thread(myRunnable.Run); thread.Name = typeof(MultithreadContextStartedBySameEvent).Name; thread.Start(); SupportCompileDeployUtil.ThreadJoin(thread); SupportCompileDeployUtil.ThreadSleep(1000); // assert Assert.IsNull(myRunnable.exception); Assert.AreEqual(numEvents, listener.total); env.UndeployAll(); }
public void TestMTTerminateFault() { var config = SupportConfigFactory.GetConfiguration(); config.EngineDefaults.ThreadingConfig.IsInternalTimerEnabled = true; config.AddEventType(typeof(StartContextEvent)); config.AddEventType(typeof(PayloadEvent)); var epService = EPServiceProviderManager.GetDefaultProvider(config); epService.Initialize(); var eplStatement = "create context StartThenTwoSeconds start StartContextEvent end after 2 seconds"; epService.EPAdministrator.CreateEPL(eplStatement); var aggStatement = "@Name('select') context StartThenTwoSeconds " + "select Account, count(*) as totalCount " + "from PayloadEvent " + "group by Account " + "output snapshot when terminated"; var epAggStatement = epService.EPAdministrator.CreateEPL(aggStatement); epAggStatement.Events += (sender, args) => { // no action, still listening to make sure select-clause evaluates }; // start context epService.EPRuntime.SendEvent(new StartContextEvent()); // start threads IList <Thread> threads = new List <Thread>(); IList <MyRunnable> runnables = new List <MyRunnable>(); for (var i = 0; i < 8; i++) { var myRunnable = new MyRunnable(epService); runnables.Add(myRunnable); var thread = new Thread(myRunnable.Run) { Name = "Thread" + i }; thread.Start(); threads.Add(thread); } // join foreach (var thread in threads) { thread.Join(); } // assert foreach (var runnable in runnables) { Assert.IsNull(runnable.Exception); } }
RinexNavigationParserGps getRNPByTimestamp(long unixTime, Location initialLocation) { RinexNavigationParserGps rnp = null; long reqTime = unixTime; // do { // found none, retrieve from urltemplate Time t = new Time(reqTime); //System.out.println("request: "+unixTime+" "+(new Date(t.getMsec()))+" week:"+t.getGpsWeek()+" "+t.getGpsWeekDay()); //final string url = t.formatTemplate(urltemplate); string url = "supl.google.com"; if (pool.ContainsKey(url)) { lock (this) { rnp = pool[url]; } } else { if (!retrievingFromServer.Contains(url)) { retrievingFromServer.Add(url); MyRunnable mr = new MyRunnable(); mr.url = url; mr.initialLocation = initialLocation; mr.retrievingFromServer = retrievingFromServer; mr.pool = pool; ThreadStart childref = new ThreadStart(mr.DoStuff); System.Threading.Thread childThread = new System.Threading.Thread(childref); childThread.Start(); /* * (new Thread(new Runnable() { * @Override * public void run() * { * } * })).start();*/ } return(null); } return(rnp); // } while (waitForData && rnp == null); }
public void Run(RegressionEnvironment env) { var path = new RegressionPath(); var eplStatement = "create context StartThenTwoSeconds start StartContextEvent end after 2 seconds"; env.CompileDeploy(eplStatement, path); var aggStatement = "@Name('select') context StartThenTwoSeconds " + "select Account, count(*) as totalCount " + "from PayloadEvent " + "group by Account " + "output snapshot when terminated"; env.CompileDeploy(aggStatement, path); env.Statement("select").Events += ( sender, args) => { // no action, still listening to make sure select-clause evaluates }; // start context env.SendEventBean(new StartContextEvent()); // start threads IList<Thread> threads = new List<Thread>(); IList<MyRunnable> runnables = new List<MyRunnable>(); for (var i = 0; i < 8; i++) { var myRunnable = new MyRunnable(env.Runtime); runnables.Add(myRunnable); var thread = new Thread(myRunnable.Run); thread.Name = GetType().Name + "-Thread" + i; thread.Start(); threads.Add(thread); } // join foreach (var thread in threads) { ThreadJoin(thread); } // assert foreach (var runnable in runnables) { Assert.IsNull(runnable.Exception); } env.UndeployAll(); }
public override void Run(EPServiceProvider epService) { var eplStatement = "create context StartThenTwoSeconds start StartContextEvent end after 2 seconds"; epService.EPAdministrator.CreateEPL(eplStatement); var aggStatement = "@Name('select') context StartThenTwoSeconds " + "select account, count(*) as totalCount " + "from PayloadEvent " + "group by account " + "output snapshot when terminated"; var epAggStatement = epService.EPAdministrator.CreateEPL(aggStatement); epAggStatement.Events += (sender, args) => { // no action, still listening to make sure select-clause evaluates }; // start context epService.EPRuntime.SendEvent(new StartContextEvent()); // start threads var threads = new List<Thread>(); var runnables = new List<MyRunnable>(); for (var i = 0; i < 8; i++) { var myRunnable = new MyRunnable(epService); runnables.Add(myRunnable); var thread = new Thread(myRunnable.Run); thread.Name = "Thread" + i; thread.Start(); threads.Add(thread); } // join foreach (var thread in threads) { thread.Join(); } // assert foreach (var runnable in runnables) { Assert.IsNull(runnable.Exception); } }
public void TestMT() { var config = SupportConfigFactory.GetConfiguration(); config.EngineDefaults.ThreadingConfig.IsInternalTimerEnabled = true; config.AddEventType(typeof(PayloadEvent)); var epService = EPServiceProviderManager.GetDefaultProvider(config); epService.Initialize(); var eplStatement = "create context MyContext start PayloadEvent end after 0.5 seconds"; epService.EPAdministrator.CreateEPL(eplStatement); var aggStatement = "@Name('select') context MyContext " + "select count(*) as theCount " + "from PayloadEvent " + "output snapshot when terminated"; var epAggStatement = epService.EPAdministrator.CreateEPL(aggStatement); var listener = new MyListener(); epAggStatement.Events += listener.Update; // start thread long numEvents = 10000000; var myRunnable = new MyRunnable(epService, numEvents); var thread = new Thread(myRunnable.Run); thread.Start(); thread.Join(); Thread.Sleep(1000); // assert Assert.IsNull(myRunnable.Exception); Assert.AreEqual(numEvents, listener.Total); }
public OneToOneRawBatchThroughputTest() { _myRunnable = new MyRunnable(_sequencer); _sequencer.AddGatingSequences(_myRunnable.Sequence); }
public OneToOneRawThroughputTest() { _taskScheduler = new RoundRobinThreadAffinedTaskScheduler(2); _myRunnable = new MyRunnable(_sequencer); _sequencer.AddGatingSequences(_myRunnable.Sequence); }