public void run(RegressionEnvironment env) {
String[] fields = new String[]{"statementName"};
EPStatement[] statements = new EPStatement[5];
sendTimer(env, 1000);
statements[0] = env.compileDeploy("@name('MyStatement@METRIC') select * from " + StatementMetric.class.getName()).statement("MyStatement@METRIC");
statements[0].addListener(env.listenerNew());
statements[1] = env.compileDeploy("@name('stmtone') select * from SupportBean(intPrimitive=1)#keepall where 2=2").statement("stmtone");
sendEvent(env, "E1", 1, CPUGOALONENANO);
statements[2] = env.compileDeploy("@name('stmttwo') select * from SupportBean(intPrimitive>0)#lastevent where 1=1").statement("stmttwo");
sendEvent(env, "E2", 1, CPUGOALONENANO);
sendTimer(env, 11000);
EPAssertionUtil.assertPropsPerRow(env.listener("MyStatement@METRIC").getNewDataListFlattened(), fields, new Object[][]{{"stmtone"}, {"stmttwo"}});
env.listener("MyStatement@METRIC").reset();
sendEvent(env, "E1", 1, CPUGOALONENANO);
sendTimer(env, 21000);
EPAssertionUtil.assertPropsPerRow(env.listener("MyStatement@METRIC").getNewDataListFlattened(), fields, new Object[][]{{"stmtone"}, {"stmttwo"}});
env.listener("MyStatement@METRIC").reset();
env.runtime().getMetricsService().setMetricsReportingStmtDisabled(env.deploymentId("stmtone"), "stmtone");
sendEvent(env, "E1", 1, CPUGOALONENANO);
sendTimer(env, 31000);
EPAssertionUtil.assertPropsPerRow(env.listener("MyStatement@METRIC").getNewDataListFlattened(), fields, new Object[][]{{"stmttwo"}});
env.listener("MyStatement@METRIC").reset();
env.runtime().getMetricsService().setMetricsReportingStmtEnabled(env.deploymentId("stmtone"), "stmtone");
env.runtime().getMetricsService().setMetricsReportingStmtDisabled(env.deploymentId("stmttwo"), "stmttwo");
sendEvent(env, "E1", 1, CPUGOALONENANO);
sendTimer(env, 41000);
EPAssertionUtil.assertPropsPerRow(env.listener("MyStatement@METRIC").getNewDataListFlattened(), fields, new Object[][]{{"stmtone"}});
env.undeployAll();
}