当前位置: 首页 > 知识库问答 >
问题:

通过采样器前缀生成 JMeter 仪表板

云京
2023-03-14

我正在运行JMeter非GUI模式并生成仪表板,它正在工作,

下一步,我想将UUID添加到每个采样器,以便更轻松地在日志中找到我的请求

因此,采样器名称是:Login${uuid}、operation1${uuid}……而uuid变量之前已设置。

在GUI模式下,它有助于更快、更容易地发现问题。

当我执行非 GUI 模式时,它在 java.lang.Out 上失败:超出了 GC 开销限制。

基本上(我做了一个简短的测试),它分别为每个登录(和操作)创建一个报告,如下所示

Login f9b9c9e9-15ac-4b96-a454-20d8fc7d8844  1   0   0.00%   622.00  622 622 622.00  622.00  622.00  1.61    0.60    0.90
Login f67871f5-f447-4125-85e7-981592d9bff2 ...

如何将所有登录/特定操作聚合到一个结果中,并在非GUI仪表板执行中防止此类异常

日志中的异常:

2018-01-17 09:06:17,302 ERROR o.a.j.JMeter: Uncaught exception: 
java.lang.OutOfMemoryError: GC overhead limit exceeded
    at org.apache.jmeter.report.processor.graph.AbstractGraphConsumer.addKeyData(AbstractGraphConsumer.java:352) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.graph.AbstractGraphConsumer.stopConsuming(AbstractGraphConsumer.java:563) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.AbstractSampleConsumer.stopProducing(AbstractSampleConsumer.java:241) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.FilterConsumer.stopConsuming(FilterConsumer.java:112) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.AbstractSampleConsumer.stopProducing(AbstractSampleConsumer.java:241) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.FilterConsumer.stopConsuming(FilterConsumer.java:112) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.AbstractSampleConsumer.stopProducing(AbstractSampleConsumer.java:241) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.NormalizerSampleConsumer.stopConsuming(NormalizerSampleConsumer.java:125) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.CsvFileSampleSource$PrivateProducer.stopProducing(CsvFileSampleSource.java:339) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.CsvFileSampleSource.produce(CsvFileSampleSource.java:185) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.CsvFileSampleSource.run(CsvFileSampleSource.java:238) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.dashboard.ReportGenerator.generate(ReportGenerator.java:244) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.JMeter$ListenToTest.generateReport(JMeter.java:1198) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.JMeter$ListenToTest.testEnded(JMeter.java:1134) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:230) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:498) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_05]

编辑:

尝试为每个请求添加控制器并添加到user.properties:

 jmeter.reportgenerator.exporter.html.series_filter=^(Login|O‌​peration1|Operation2‌​)(-success|-failure)‌​?$

仍然在仪表板(小型执行)中,操作不被视为一个组。

现在得到不同的错误,但仍然是OutOfMemoryError:

2018-01-17 13:25:07,766 ERROR o.a.j.JMeter: Uncaught exception: 
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:3175) ~[?:1.8.0_05]
    at java.util.ArrayList.grow(ArrayList.java:246) ~[?:1.8.0_05]
    at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:220) ~[?:1.8.0_05]
    at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:212) ~[?:1.8.0_05]
    at java.util.ArrayList.add(ArrayList.java:443) ~[?:1.8.0_05]
    at org.apache.jmeter.report.processor.ListResultData.addResult(ListResultData.java:54) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.graph.AbstractGraphConsumer.addKeyData(AbstractGraphConsumer.java:353) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.graph.AbstractGraphConsumer.stopConsuming(AbstractGraphConsumer.java:563) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.AbstractSampleConsumer.stopProducing(AbstractSampleConsumer.java:241) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.FilterConsumer.stopConsuming(FilterConsumer.java:112) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.AbstractSampleConsumer.stopProducing(AbstractSampleConsumer.java:241) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.FilterConsumer.stopConsuming(FilterConsumer.java:112) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.AbstractSampleConsumer.stopProducing(AbstractSampleConsumer.java:241) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.NormalizerSampleConsumer.stopConsuming(NormalizerSampleConsumer.java:125) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.CsvFileSampleSource$PrivateProducer.stopProducing(CsvFileSampleSource.java:339) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.CsvFileSampleSource.produce(CsvFileSampleSource.java:185) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.processor.CsvFileSampleSource.run(CsvFileSampleSource.java:238) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.report.dashboard.ReportGenerator.generate(ReportGenerator.java:244) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.JMeter$ListenToTest.generateReport(JMeter.java:1198) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.JMeter$ListenToTest.testEnded(JMeter.java:1134) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:230) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:498) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_05]

共有1个答案

钱华晖
2023-03-14

一个选项是执行以下操作:

    < li >添加交易取样器作为登录${ UUID }的父帐户

在 user.属性中,仅包括父事务名称:

jmeter.reportgenerator.exporter.html.series_filter=^(search|order)(-success|-failure)?$

您可以在jeter中使用菜单:

您可能需要增加-Xmx,并且您应该打开一个问题,将堆转储提供给jmeter进行分析,这可能是一个错误,但可能只是由于不同事务的数量。

 类似资料:
  • 嗨,我现在使用JMeter Groovy WebDriver。我的问题是,导入了图形生成器,但没有任何图形输出。你能建议图形生成器应该与WebDriver一起工作吗?还是只为JMeter采样器Http请求工作?

  • 问题内容: 我在Fedora上运行jmeter2.12。 生成仪表盘报告的步骤是什么? 问题答案: 脚步: 1.从侦听器中添加“摘要报告”,“简单数据编写器”。 2.将位置设置为生成的csv 3.从“ D:\ apache-jmeter-3.0 \ bin \”打开reportgenerator.properties,从中复制所有内容 4.从同一bin文件夹中打开user.properties 5

  • 我在运行jmeter2。戴着软呢帽。 生成仪表板报表的步骤是什么?

  • 你能建议如何用contains语法重写下面的动态名称代码吗?请参考所附的屏幕截图。多谢.

  • 我正在使用jmeter,我对它非常陌生,并且有最低的编程背景。我目前使用2个采样器:a)soap请求b)soap xml rpc请求。 通过使用soap请求采样器,我可以轻松地加载wsdl文件并继续测试。由于EndpointDispatcher中的ContractFilter不匹配,接收方无法处理带有Action“”的消息。这可能是由于合同不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之

  • 我正在尝试使用pskill.exe杀死在远程PC上运行的java进程,它通过批处理文件运行得很好。但是,它在运行OS进程采样器时不起作用。附上OS采样器截图。 我得到下面的错误信息,如果你能帮助我解决问题,我很感激 线程名称:线程组1-1示例开始时间:2017-06-14 14:25:31英国夏令时加载时间:16连接时间:0延迟时间:0大小以字节为单位:0发送字节:0头大小以字节为单位:0主体大小