Example #1
0
 public static void SendAddPoint(
     RegressionEnvironment env,
     IList<SupportSpatialPoint> points,
     string id,
     double x,
     double y)
 {
     var point = new SupportSpatialPoint(id, x, y);
     points.Add(point);
     env.SendEventBean(point);
 }
Example #2
0
        private void RunAssertionEventIndexNWFireAndForgetPerformance(EPServiceProvider epService)
        {
            var epl = "create window MyPointWindow#keepall as (id string, px double, py double);\n" +
                      "insert into MyPointWindow select id, px, py from SupportSpatialPoint;\n" +
                      "create index Idx on MyPointWindow( (px, py) pointregionquadtree(0, 0, 100, 100));\n";
            var deploymentId = epService.EPAdministrator.DeploymentAdmin.ParseDeploy(epl).DeploymentId;

            var random = new Random();
            var points = new List <SupportSpatialPoint>();

            for (var i = 0; i < 10000; i++)
            {
                var px    = random.NextDouble() * 100;
                var py    = random.NextDouble() * 100;
                var point = new SupportSpatialPoint("P" + Convert.ToString(i), px, py);
                epService.EPRuntime.SendEvent(point);
                points.Add(point);
                // Comment-me-in: Log.Info("Point P" + i + " " + px + " " + py);
            }

            var prepared = epService.EPRuntime.PrepareQueryWithParameters("select * from MyPointWindow where point(px,py).inside(rectangle(?,?,?,?))");
            var start    = PerformanceObserver.MilliTime;
            var fields   = "id".Split(',');

            for (var i = 0; i < 500; i++)
            {
                var x = random.NextDouble() * 100;
                var y = random.NextDouble() * 100;
                // Comment-me-in: Log.Info("Query " + x + " " + y + " " + width + " " + height);

                prepared.SetObject(1, x);
                prepared.SetObject(2, y);
                prepared.SetObject(3, 5);
                prepared.SetObject(4, 5);
                var events   = epService.EPRuntime.ExecuteQuery(prepared).Array;
                var expected = SupportSpatialUtil.GetExpected(points, x, y, 5, 5);
                EPAssertionUtil.AssertPropsPerRowAnyOrder(events, fields, expected);
            }
            var delta = PerformanceObserver.MilliTime - start;

            Assert.IsTrue(delta < 1000, "delta=" + delta);

            epService.EPAdministrator.DeploymentAdmin.Undeploy(deploymentId);
        }