INNER CODE UNIT · Java
runInToolingForSomeTimeThenExit
graphql-java/java-dataloader · src/jmh/java/performance/PerformanceTestingUtils.java:38
public static void runInToolingForSomeTimeThenExit(Runnable setup, Runnable r, Runnable tearDown) {
int runForMillis = getRunForMillis();
if (runForMillis <= 0) {
System.out.print("'runForMillis' environment var is not set - continuing \n");
return;
}
System.out.printf("Running initial code in some tooling - runForMillis=%d \n", runForMillis);
System.out.print("Get your tooling in order and press enter...");
readLine();
System.out.print("Lets go...\n");
setup.run();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
long now, then = System.currentTimeMillis();
do {
now = System.currentTimeMillis();
long msLeft = runForMillis - (now - then);
System.out.printf("\t%s Running in loop... %s ms left\n", dtf.format(LocalDateTime.now()), msLeft);