@Test public void perfTest() throws EvaluationException { gee.setExpression("event.timeStamp < 100 && event.message != 'xx' "); gee.start(); loop(gee); loop(gee); double avgDuration = loop(gee); long referencePerf = 500; BogoPerf.assertDuration(avgDuration, referencePerf, CoreConstants.REFERENCE_BIPS); System.out.println("Average duration " + avgDuration); }
void doEvaluateAndCheck(String expression, ILoggingEvent event, boolean expected) throws EvaluationException { gee.setExpression(expression); gee.start(); StatusPrinter.printInCaseOfErrorsOrWarnings(context); assertTrue(statusChecker.isErrorFree(0)); ContextUtil contextUtil = new ContextUtil(context); contextUtil.addGroovyPackages(context.getFrameworkPackages()); contextUtil.addFrameworkPackage( context.getFrameworkPackages(), "ch.qos.logback.classic.boolex"); boolean result = gee.evaluate(event); assertEquals(expected, result); }
double loop(GEventEvaluator gee) throws EvaluationException { long start = System.nanoTime(); ILoggingEvent event = makeEvent("x"); for (int i = 0; i < LEN; i++) { gee.evaluate(event); } long end = System.nanoTime(); return (end - start) / LEN; }
@Before public void setUp() { gee.setContext(context); }
@Test public void startMakesIsStartedReturnTrue() { gee.setExpression("return true"); gee.start(); assertTrue(gee.isStarted()); }