jmeter.backendlistener.elasticsearch

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.

License

License

Categories

Categories

JMeter Application Testing & Monitoring Search Business Logic Libraries Elasticsearch
GroupId

GroupId

io.github.delirius325
ArtifactId

ArtifactId

jmeter.backendlistener.elasticsearch
Last Version

Last Version

2.6.8
Release Date

Release Date

Type

Type

jar
Description

Description

jmeter.backendlistener.elasticsearch
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.
Project URL

Project URL

https://github.com/delirius325/jmeter-elasticsearch-backend-listener
Source Code Management

Source Code Management

https://github.com/delirius325/jmeter-elasticsearch-backend-listener.git

Download jmeter.backendlistener.elasticsearch

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.delirius325/jmeter.backendlistener.elasticsearch/ -->
<dependency>
    <groupId>io.github.delirius325</groupId>
    <artifactId>jmeter.backendlistener.elasticsearch</artifactId>
    <version>2.6.8</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.delirius325/jmeter.backendlistener.elasticsearch/
implementation 'io.github.delirius325:jmeter.backendlistener.elasticsearch:2.6.8'
// https://jarcasting.com/artifacts/io.github.delirius325/jmeter.backendlistener.elasticsearch/
implementation ("io.github.delirius325:jmeter.backendlistener.elasticsearch:2.6.8")
'io.github.delirius325:jmeter.backendlistener.elasticsearch:jar:2.6.8'
<dependency org="io.github.delirius325" name="jmeter.backendlistener.elasticsearch" rev="2.6.8">
  <artifact name="jmeter.backendlistener.elasticsearch" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.delirius325', module='jmeter.backendlistener.elasticsearch', version='2.6.8')
)
libraryDependencies += "io.github.delirius325" % "jmeter.backendlistener.elasticsearch" % "2.6.8"
[io.github.delirius325/jmeter.backendlistener.elasticsearch "2.6.8"]

Dependencies

provided (5)

Group / Artifact Type Version
org.apache.jmeter : ApacheJMeter_config jar 5.0
org.apache.jmeter : ApacheJMeter_core jar 5.0
org.apache.jmeter : ApacheJMeter_components jar 5.0
org.apache.jmeter : jorphan jar 5.0
org.apache.commons : commons-lang3 jar 3.7

test (4)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-engine jar 5.0.0
junit : junit jar 4.12
org.junit.platform : junit-platform-runner jar 1.0.0
org.junit.vintage : junit-vintage-engine jar 4.12.0

Project Modules

There are no modules declared in this project.

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
  • 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.

Versions

Version
2.6.8
2.6.7
2.6.1
2.6.0
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.3
2.3.2
2.3.1
2.3.0
2.2.5
2.2.4
2.2.3
2.2.2