diff --git a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java index b4562e3fce3..c4c38bdcf92 100644 --- a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java +++ b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/MultiThreadedRunner.java @@ -57,7 +57,7 @@ class MultiThreadedRunner implements Callable { private final Scenario scenario; private final WorkloadExecutor workloadExecutor; private final XMLConfigParser parser; - + private final boolean writeRuntimeResults; /** * MultiThreadedRunner @@ -83,6 +83,7 @@ class MultiThreadedRunner implements Callable { this.resultManager = new ResultManager(dataModelResult.getName(), writeRuntimeResults); this.workloadExecutor = workloadExecutor; this.parser = parser; + this.writeRuntimeResults = writeRuntimeResults; } /** @@ -105,16 +106,25 @@ public Void call() throws Exception { if (!timedQuery(i+1)) { break; } - if ((EnvironmentEdgeManager.currentTimeMillis() - lastResultWritten) > 1000) { + if (writeRuntimeResults && + (EnvironmentEdgeManager.currentTimeMillis() - lastResultWritten) > 1000) { resultManager.write(dataModelResult, ruleApplier); lastResultWritten = EnvironmentEdgeManager.currentTimeMillis(); } } } + if (!writeRuntimeResults) { + long duration = EnvironmentEdgeManager.currentTimeMillis() - threadStartTime; + LOGGER.info("The read query " + query.getStatement() + " for this thread in (" + + duration + ") Ms"); + } + // Make sure all result have been dumped before exiting - synchronized (workloadExecutor) { - resultManager.flush(); + if (writeRuntimeResults) { + synchronized (workloadExecutor) { + resultManager.flush(); + } } LOGGER.info("\n\nThread exiting." + threadName + "\n\n");