* Prints a one line update on performance that can be printed
* periodically during a benchmark.
*/
public synchronized void printStatistics() {
ClientStatsContext statscontext = periodicStatsContext.fetchAndResetBaseline();
ClientAffinityStats affinityStats = statscontext.getAggregateAffinityStats();
ClientStats stats = statscontext.getStats();
long time = Math.round((stats.getEndTimestamp() - benchmarkStartTS) / 1000.0);
System.out.printf("%02d:%02d:%02d ", time / 3600, (time / 60) % 60, time % 60);
System.out.printf("Throughput %d/s, ", stats.getTxnThroughput());
System.out.printf("Aborts/Failures %d/%d, ",
stats.getInvocationAborts(), stats.getInvocationErrors());
System.out.printf("Avg/95%% Latency %.2f/%.2fms, ", stats.getAverageLatency(),
stats.kPercentileLatencyAsDouble(0.95));
System.out.printf("%d AW, %d AR, %d RRW, %d RRR\n",
affinityStats.getAffinityWrites(),
affinityStats.getAffinityReads(),
affinityStats.getRrWrites(),
affinityStats.getRrReads());
}