Skip to content

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

License

Notifications You must be signed in to change notification settings

wuyanming/jmeter-elasticsearch-backend-listener

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 appropriate field : filter1;filter2;filter3 or sampleLabel_must_contain_this.
  • 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
  • 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

Maven

<dependency>
  <groupId>io.github.delirius325</groupId>
  <artifactId>jmeter.backendlistener.elasticsearch</artifactId>
  <version>2.6.9</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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%