* @throws RepositoryException the repository exception
*/
protected void createLoad(ExecutionContext context) throws RepositoryException {
// Creates assets for this run
SynchronizedDescriptiveStatistics writeStats = new SynchronizedDescriptiveStatistics();
List<Thread> loadThreads = newArrayList();
for (int idx = 0; idx < LOADERS; idx++) {
/* Each loader will write to a directory of the form load-idx */
Thread t =
new Thread(getWriter(context, writeStats, idx),
"LoadThread-" + idx);
loadThreads.add(t);
t.start();
}
// wait for the load threads to finish
for (Thread t : loadThreads) {
try {
t.join();
} catch (InterruptedException e) {
LOG.error("Exception waiting for join ", e);
}
}
LOG.info("Write stats");
LOG.info(String.format(
"# min 10%% 50%% 90%% max N%n"));
LOG.info(String.format(
"%6.0f %6.0f %6.0f %6.0f %6.0f %6d%n",
writeStats.getMin(),
writeStats.getPercentile(10.0),
writeStats.getPercentile(50.0),
writeStats.getPercentile(90.0),
writeStats.getMax(),
writeStats.getN()));
}