apache / jmeter

Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services
https://jmeter.apache.org/
Apache License 2.0
8.4k stars 2.1k forks source link

JMeter Backend Listener show exception when test ended #4179

Closed asfimport closed 7 years ago

asfimport commented 7 years ago

Liu XP (Bug 60428): Steps:

  1. Create JMeter test script with default Backend Listener.
  2. Set correct graphiteHost,graphitePort,rootMetricsPrefix and samplersList.
  3. Change useRegexpForSamplersList to true.
  4. Run the test script.

Result: We can see exception like below: 2016/11/29 11:01:19 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of org.apache.jmeter.visualizers.backend.BackendListener@2b1f1961 java.lang.IllegalStateException: Failed calling teardownTest at org.apache.jmeter.visualizers.backend.BackendListener.testEnded(BackendListener.java:384) at org.apache.jmeter.visualizers.backend.BackendListener.testEnded(BackendListener.java:392) at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:216) at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:437) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient.teardownTest(GraphiteBackendListenerClient.java:327) at org.apache.jmeter.visualizers.backend.BackendListener.testEnded(BackendListener.java:382) ... 4 more

This is issue should be bring with the https://github.com/apache/jmeter/issues/3872 fixed at 9 month ago. https://github.com/apache/jmeter/issues/3872 - Backend listener : Add the possibility to consider samplersList as a Regular Expression

I fixed this issue by changing code temporary. org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient move line 304 "samplersToFilter = new HashSet<>();" after line 301

OS: All

asfimport commented 7 years ago

Liu XP (migrated from Bugzilla): mistake! Move line 304 "samplersToFilter = new HashSet<>();" after line 299

asfimport commented 7 years ago

@FSchumacher (migrated from Bugzilla): Thanks for your contribution.

I chose a slightly different approach by checking for null instead of initialising the collection, though.

Date: Tue Nov 29 20:10:27 2016 New Revision: 1771952

URL: http://svn.apache.org/viewvc?rev=1771952&view=rev Log: JMeter Graphite Backend Listener throws exception when test ends and useRegexpForSamplersList is set to true. Based on patch by Liu XP (liu_xp2003 at sina.com)

https://github.com/apache/jmeter/issues/4179

Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java jmeter/trunk/xdocs/changes.xml