Issue when using Jmeter Elasticsearch Backend Listener within Taurus Docker Image

421 views
Skip to first unread message

Jessica Wang

unread,
Aug 11, 2021, 2:12:58 PM8/11/21
to codename-taurus
Hi,  when using the Elasticsearch Backend Listener it needs its plugin Jar file in jmeter-taurus/{version}/lib/ext. So  there was no issue when running tests with Taurus installation after copying the jar file there.

I didn't  know how to make it to work when running in  blazemeter/taurus  docker image. Could you give me help on this. Thanks in advance.

Jessica

  

Jessica Wang

unread,
Aug 11, 2021, 2:31:53 PM8/11/21
to codename-taurus
I have tried adding something modules in front of the yml file it seemed not working.

modules:
  jmeter:
    #path: ~/.bzt/jmeter-taurus/bin/jmeter
    #version: 3.0  # minimal supported version of JMeter is 2.9
    #force-ctg: true   # true by default
    detect-plugins: true
    plugins:
    - ElasticSearch-backend-listener

grey....@gmail.com

unread,
Aug 12, 2021, 5:17:27 AM8/12/21
to codename-taurus
Hello Jessica.
If you use the plugin in your existed jmx, the plugin must be installed automatically (without mention it in 'plugin' section).
If it doesn't work - describe the problem and provide all files, that necessary for reproducing (yaml, jmx, etc.)

---
Taras

Jessica Wang

unread,
Aug 12, 2021, 12:34:51 PM8/12/21
to codename-taurus
Thanks Taras for your response. Here is our problem.

We wanted to import our performance testing results to our elasticsearch server so we used the  plugin Elasticsearch Backend Listener https://github.com/delirius325/jmeter-elasticsearch-backend-listener
When developing jmeter script in Jmeter UI from JMeter Plugins Manager we were able to select and install the plugin and automatically install to  jmeter-home/lib/ext/jmeter.backendlistener.elasticsearch-2.7.0.jar. 
When running tests in Taurus we have seen error messages in jmeter.log. After copying the Jar file jmeter.backendlistener.elasticsearch-2.7.0.jar to ~/.bzt/jmeter-taurus/{version}/lib/ext  the data went to the elasticsearch.
Now we were trying to put it to pipeline using Docker image blazemeter/taurus we got the same following messages.
 
2021-08-10 16:02:21,184 ERROR o.a.j.v.b.BackendListener: StandardJMeterEngine@4648ce9-Backend Listener Exception initialising: io.github.delirius325.jmeter.backendlistener.elasticsearch.ElasticsearchBackendClient
java.lang.ClassNotFoundException: io.github.delirius325.jmeter.backendlistener.elasticsearch.ElasticsearchBackendClient
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_292]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_292]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_292]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_292]
at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_292]
at org.apache.jmeter.visualizers.backend.BackendListener.initClass(BackendListener.java:129) [ApacheJMeter_components.jar:5.2.1]
at org.apache.jmeter.visualizers.backend.BackendListener.testStarted(BackendListener.java:305) [ApacheJMeter_components.jar:5.2.1]
at org.apache.jmeter.visualizers.backend.BackendListener.testStarted(BackendListener.java:281) [ApacheJMeter_components.jar:5.2.1]
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:206) [ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:381) [ApacheJMeter_core.jar:5.2.1]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
......
2021-08-10 16:02:24,057 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:24,140 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:24,518 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:24,584 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:24,585 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:25,652 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:25,853 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:25,900 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:25,915 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:25,955 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:26,069 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
2021-08-10 16:02:26,092 WARN o.a.j.v.b.BackendListener: ErrorBackendListenerClient#handleSampleResult called, noop
......

So the test results data could not get into the ElasticSearch server.  That's problem.  Hope to have your assistance to solve it.

Thanks again,
Jessica

grey....@gmail.com

unread,
Aug 17, 2021, 1:08:55 AM8/17/21
to codename-taurus
Hello Jessica.
As far as I understood,
1. you selected and installed plugin with jmeter gui - is it really 'automatically' installed?
2. we use install-for-jmx plugins manager cmdline option and can't help you with gui variant.
Could you check (with cmdline) whether ElasticsearchBackendClient in jmx causes installation of the plugin or not?  
If so, it means problem on our side. In that case please provide your yaml and jmx (with correspond classes) for reproducing.
Otherwise (gui works but cmd not) please contact plugins manager dev team.

---
Taras

Jessica Wang

unread,
Aug 17, 2021, 3:47:50 PM8/17/21
to codename-taurus
Taras, thanks for your reply. I have my problem solved already after adding additional-classpath in modules on jmeter for the plugin it worked. Thanks!  -Jessica

Abhiram Pattarkine

unread,
Mar 25, 2022, 10:29:23 PM3/25/22
to codename-taurus
Hi Jessica,

can you please share more details of how you did it? We are also facing a similar challenge and looking for a solution.

Tushar Sangwan

unread,
Jan 9, 2023, 2:35:55 PM1/9/23
to codename-taurus
Hi All,

I am getting the same type of error for Azure Backend Listener, please let me know about the error.

2023-01-10 00:57:03,928 ERROR o.a.j.v.b.BackendListener: StandardJMeterEngine@27a0a5a2-Backend Listener Exception initialising: io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient
java.lang.ClassNotFoundException: io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient
at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:467) ~[?:?]
at org.apache.jmeter.visualizers.backend.BackendListener.initClass(BackendListener.java:128) ~[ApacheJMeter_components-5.5.jar:5.5]
at org.apache.jmeter.visualizers.backend.BackendListener.testStarted(BackendListener.java:304) ~[ApacheJMeter_components-5.5.jar:5.5]
at org.apache.jmeter.visualizers.backend.BackendListener.testStarted(BackendListener.java:280) ~[ApacheJMeter_components-5.5.jar:5.5]
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:218) ~[ApacheJMeter_core-5.5.jar:5.5]
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:396) ~[ApacheJMeter_core-5.5.jar:5.5]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

DT

unread,
Jan 10, 2023, 3:57:22 AM1/10/23
to codename-taurus
Try explicitly telling Taurus that you want the plugin like:

execution:
- scenario: simple

scenarios:
  simple:
    script: test.jmx

modules:
  jmeter:
    plugins:
    - jmeter.backendlistener.azure
Reply all
Reply to author
Forward
0 new messages