in shardingsphere-benchmark/src/main/java/org/apache/shardingsphere/benchmark/jmeter/common/config/JMeterConfigBenchmark.java [20:60]
public SampleResult runTest(JavaSamplerContext context) {
SampleResult results = new SampleResult();
results.setSampleLabel("JMeterConfigBenchmark");
results.sampleStart();
String benchmarkBasePath = (String)userConfig.get("shardingsphere.benchmark.project.base.path");
String benchmarkOutputBasePath = (String)userConfig.get("shardingsphere.benchmark.result.base.path");
int shardingDbCount = Integer.valueOf((String)userConfig.get("shardingsphere.sharding.db.count")).intValue();
int shardingTableCount = Integer.valueOf((String)userConfig.get("shardingsphere.sharding.table.count")).intValue();
int maxConnectionCount = Integer.valueOf((String)userConfig.get("shardingsphere.maximum.connection.count")).intValue();
int minConnectionCount = Integer.valueOf((String)userConfig.get("shardingsphere.minimum.connection.count")).intValue();
int maxConnectionPerQueryCount = Integer.valueOf((String)userConfig.get("shardingsphere.maximum.connection.count.for.each.query")).intValue();
int jmeterLoopCount = Integer.valueOf((String)userConfig.get("shardingsphere.jmeter.loop.count")).intValue();
int jmeterConcurrencyCount = Integer.valueOf((String)userConfig.get("shardingsphere.jmeter.concurrency.count")).intValue();
String createdDatabaseName = (String)userConfig.get("shardingsphere.benchmark.database.name");
String createTableName = (String)userConfig.get("shardingsphere.sharding.benchmark.table_name");
String databaseMachineList = (String)userConfig.get("shardingsphere.benchmark.database.machine.host.list");
// Config jmx files
BenchmarkConfigJmx.modifyBenchmarkOutputBasePath(benchmarkBasePath, benchmarkOutputBasePath, jmeterConcurrencyCount, jmeterLoopCount);
// Config property files
BenchmarkConfigProperties.modifyBenchmarkOutputConfig(benchmarkBasePath, benchmarkOutputBasePath);
// Config yaml files
BenchmarkConfigYaml.modifyBenchmarkYamlFile(benchmarkBasePath, shardingDbCount, shardingTableCount, maxConnectionCount, minConnectionCount, maxConnectionPerQueryCount);
// Manage benchmark result dirs
BenchmarkResultDirManagement.manageResultDir(userConfig);
// Create databases/tables
String[] databaseMachineArrays = databaseMachineList.split(";");
try {
for(int i = 0; i < databaseMachineArrays.length; i++){
String dbHost = databaseMachineArrays[i];
initBenchmarkDB(dbHost, createdDatabaseName, createTableName, shardingTableCount);
}
initBenchmarkResultDB((String)userConfig.get("shardingsphere.benchmark.result.database.host"), (String)userConfig.get("shardingsphere.benchmark.result.datasource"));
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
results.sampleEnd();
}
results.sampleEnd();
return results;
}