private void variant() throws IOException, URISyntaxException { BenchmarkCommandOptions.VariantBenchmarkCommandOptions options = commandOptions.variantBenchmarkCommandOptions; Path outdirPath = getBenchmarkPath(options); Path jmeterHome = Paths.get(appHome, "benchmark", "jmeter"); Path dataDir = Paths.get(appHome, "benchmark", "data", "hsapiens"); if (StringUtils.isNotEmpty(options.dbName)) { configuration.getBenchmark().setDatabaseName(options.dbName); } if (options.repetition != null) { configuration.getBenchmark().setNumRepetitions(options.repetition); } if (options.concurrency != null) { configuration.getBenchmark().setConcurrency(options.concurrency); } if (options.delay != null) { configuration.getBenchmark().setDelay(options.delay); } setHost(options); configuration.getBenchmark().setMode(options.executionMode.name()); configuration.getBenchmark().setConnectionType(options.connectionType.name()); VariantBenchmarkRunner variantBenchmarkRunner = new VariantBenchmarkRunner(configuration, jmeterHome, outdirPath); QueryOptions queryOptions = new QueryOptions(); queryOptions.append(QueryOptions.LIMIT, options.limit); queryOptions.append(QueryOptions.COUNT, options.count); variantBenchmarkRunner.addThreadGroup(options.connectionType, options.executionMode, dataDir, options.baseQuery, options.queryFile, options.query, queryOptions); variantBenchmarkRunner.run(); }