Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从分布式测试JMeter java代码收集结果_Java_Jmeter - Fatal编程技术网

从分布式测试JMeter java代码收集结果

从分布式测试JMeter java代码收集结果,java,jmeter,Java,Jmeter,我试图在java中使用JMeter创建分布式测试(没有GUI,没有命令行) 在我的代码中,我使用: List<String> addresses = Arrays.asList("address1","address2"); HashTree tree = new HashTree(); DistributedRunner dRunner = new DistributedRunner(); dRunner.

我试图在java中使用JMeter创建分布式测试(没有GUI,没有命令行)

在我的代码中,我使用:

    List<String> addresses = Arrays.asList("address1","address2");
    HashTree tree = new HashTree();

    DistributedRunner dRunner = new DistributedRunner();

    dRunner.init(addresses,tree);
    dRunner.start();
List addresses=Arrays.asList(“address1”、“address2”);
HashTree-tree=新的HashTree();
DistributedRunner dRunner=新DistributedRunner();
init(地址,树);
dRunner.start();
服务器实例已经设置好(侦听address1等)。但是,我找不到一种从服务器实例收集结果的最佳方法。有没有办法做到这一点?通常,主/从设备具有双向通信,但这似乎是主设备向从设备发送执行测试的命令,但从设备不向主设备返回结果

实现这一目标的正确方法是什么

谢谢

你在跑什么?空的?如果是这种情况,你不应该得到任何结果

如果后面有一些初始化代码,您需要使用此代码更新您的问题,因为它应该足以定义,并且您的主计算机将从从属计算机收集结果

示例代码段,放在
dRunner.init(地址,树)之前行:

Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
    summer = new Summariser(summariserName);
}


String logFile = "/path/to/result.jtl";
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
tree.add(testPlanTree.getArray()[0], logger);
这将相当于通过提供结果文件位置,否则测试将启动,但结果将不起作用

更多信息和有用的代码片段:

  • 回购

感谢您的回答,所以解决方案是在从机中定义带有结果的jtl文件,并让主机使用ResultCollector收集它?我假设每个从机上的“path/to/result.jtl”必须相同?在您的示例中,testPlanTree是什么?谢谢