public SampleResult runTest()

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;
    }