anthonygauthier/jmeter-elasticsearch-backend-listener

JMeter plugin that lets you send sample results to an ElasticSearch engine to enable live monitoring of load tests.

101

stars

238

commits

Java

primary language

Mar 11, 2024

updated

backend
backend-listener
cd
ci
continous-delivery
continuous-integration
elasticsearch
elasticsearch-engine
grafana
java
jmeter
jmeter-plugin
jmeter-plugins
kibana
listener
performance
performance-analysis
performance-testing
plugin
reporting
Browse cluster: Load Testing and Performance Tools

README

Codacy Badge Build Status

Overview

Description

JMeter ElasticSearch Backend Listener is a JMeter plugin enabling you to send test results to an ElasticSearch engine. It is meant as an alternative live-monitoring tool to the built-in "InfluxDB" backend listener of JMeter.

Features

  • ElasticSearch low-level REST client
    • Using the low-level client makes the plugin compatible with any ElasticSearch version
  • X-Pack Authentication!
    • Just supply your crendentials in the specified fields!
  • Bulk requests
    • By making bulk requests, there are practically no impacts on the performance of the tests themselves.
  • Filters
    • Only send the samples you want by using Filters! Simply type them as follows in the field es.sample.filter : filter1;filter2;filter3 or sampleLabel_must_contain_this.
    • You can also choose to exclude certain samplers; !!exclude_this;filter1;filter2
  • Specific fields ```field1;field2;field3`
    • Specify fields that you want to send to ElasticSearch (possible fields below)
      • AllThreads
      • BodySize
      • Bytes
      • SentBytes
      • ConnectTime
      • ContentType
      • DataType
      • ErrorCount
      • GrpThreads
      • IdleTime
      • Latency
      • ResponseTime
      • SampleCount
      • SampleLabel
      • ThreadName
      • URL
      • ResponseCode
      • TestStartTime
      • SampleStartTime
      • SampleEndTime
      • Timestamp
      • InjectorHostname
      • ElapsedDuration
  • Verbose, semi-verbose, error only, and quiet mode
    • debug : Send request/response information of all samplers (headers, body, etc.)
    • info : Sends all samplers to the ElasticSearch engine, but only sends the headers, body info for the failed samplers.
    • quiet : Only sends the response time, bytes, and other metrics
    • error : Only sends the failing samplers to the ElasticSearch engine (Along with their headers and body information).
  • Use either Kibana or Grafana to vizualize your results!
  • Continuous Integration support - Build comparison!
  • Send JMeter variables to ElasticSearch! Refer to this for more info!
  • New AWS ES parameters introducted in 2.6.0 version which leverage Role based authentication to access Elastic Search managed hosting on AWS
  • If your ES cluster is using a self signed certificate, you can set es.ssl.verificationMode to none to skip the hostname verification and cluster certificate validation.

Maven

<dependency>
  <groupId>io.github.delirius325</groupId>
  <artifactId>jmeter.backendlistener.elasticsearch</artifactId>
  <version>2.6.10-SNAPSHOT</version>
</dependency>

Contributing

Feel free to contribute by branching and making pull requests, or simply by suggesting ideas through the "Issues" tab.

Packaging and testing your newly added code

Execute below mvn command. Make sure JAVA_HOME is set properly

mvn package

Move the resulting JAR to your JMETER_HOME/lib/ext.

Screenshots

Configuration

screnshot1

Sample Grafana dashboard

screnshot1

For more info

For more information, here's a little documentation.

Contributors

anthonygauthier

199 commits

cweber-dbs

10 commits

agauthier-nbc

8 commits

pmouawad

4 commits

anthonygauthier/jmeter-elasticsearch-backend-listener

JMeter plugin that lets you send sample results to an ElasticSearch engine to enable live monitoring of load tests.

101

stars

238

commits

Java

primary language

Mar 11, 2024

updated

backend
backend-listener
cd
ci
continous-delivery
continuous-integration
elasticsearch
elasticsearch-engine
grafana
java
jmeter
jmeter-plugin
jmeter-plugins
kibana
listener
performance
performance-analysis
performance-testing
plugin
reporting
Browse cluster: Load Testing and Performance Tools

README

Codacy Badge Build Status

Overview

Description

JMeter ElasticSearch Backend Listener is a JMeter plugin enabling you to send test results to an ElasticSearch engine. It is meant as an alternative live-monitoring tool to the built-in "InfluxDB" backend listener of JMeter.

Features

  • ElasticSearch low-level REST client
    • Using the low-level client makes the plugin compatible with any ElasticSearch version
  • X-Pack Authentication!
    • Just supply your crendentials in the specified fields!
  • Bulk requests
    • By making bulk requests, there are practically no impacts on the performance of the tests themselves.
  • Filters
    • Only send the samples you want by using Filters! Simply type them as follows in the field es.sample.filter : filter1;filter2;filter3 or sampleLabel_must_contain_this.
    • You can also choose to exclude certain samplers; !!exclude_this;filter1;filter2
  • Specific fields ```field1;field2;field3`
    • Specify fields that you want to send to ElasticSearch (possible fields below)
      • AllThreads
      • BodySize
      • Bytes
      • SentBytes
      • ConnectTime
      • ContentType
      • DataType
      • ErrorCount
      • GrpThreads
      • IdleTime
      • Latency
      • ResponseTime
      • SampleCount
      • SampleLabel
      • ThreadName
      • URL
      • ResponseCode
      • TestStartTime
      • SampleStartTime
      • SampleEndTime
      • Timestamp
      • InjectorHostname
      • ElapsedDuration
  • Verbose, semi-verbose, error only, and quiet mode
    • debug : Send request/response information of all samplers (headers, body, etc.)
    • info : Sends all samplers to the ElasticSearch engine, but only sends the headers, body info for the failed samplers.
    • quiet : Only sends the response time, bytes, and other metrics
    • error : Only sends the failing samplers to the ElasticSearch engine (Along with their headers and body information).
  • Use either Kibana or Grafana to vizualize your results!
  • Continuous Integration support - Build comparison!
  • Send JMeter variables to ElasticSearch! Refer to this for more info!
  • New AWS ES parameters introducted in 2.6.0 version which leverage Role based authentication to access Elastic Search managed hosting on AWS
  • If your ES cluster is using a self signed certificate, you can set es.ssl.verificationMode to none to skip the hostname verification and cluster certificate validation.

Maven

<dependency>
  <groupId>io.github.delirius325</groupId>
  <artifactId>jmeter.backendlistener.elasticsearch</artifactId>
  <version>2.6.10-SNAPSHOT</version>
</dependency>

Contributing

Feel free to contribute by branching and making pull requests, or simply by suggesting ideas through the "Issues" tab.

Packaging and testing your newly added code

Execute below mvn command. Make sure JAVA_HOME is set properly

mvn package

Move the resulting JAR to your JMETER_HOME/lib/ext.

Screenshots

Configuration

screnshot1

Sample Grafana dashboard

screnshot1

For more info

For more information, here's a little documentation.

Contributors

anthonygauthier

199 commits

cweber-dbs

10 commits

agauthier-nbc

8 commits

pmouawad

4 commits

Languages

Java

100.0%