Top 5 JMeter Plugins And How To Use them (With Examples)

By Vijay

By Vijay

I'm Vijay, and I've been working on this blog for the past 20+ years! I’ve been in the IT industry for more than 20 years now. I completed my graduation in B.E. Computer Science from a reputed Pune university and then started my career in…

Learn about our editorial policies.
Updated March 9, 2024

Learn what are JMeter Plugins. We will also discuss some commonly used JMeter plugins:

JMeter is a very popular open-source tool that is used for website performance, load, stress, and functional testing. There are multiple JMeter plugins available in the market to enhance the ability and out of box functionality of the system.

In this tutorial, you will learn about JMeter plugins which can be added to JMeter in order to enhance functionality.

The following types of plugins are covered in this section:

  • ThreadGroup Plugins
  • Listeners Plugins

=> Click here for The Complete Free Training On JMeter (20+ Videos)

JMeter Plugins

Video Tutorial On JMeter Plugins

Plugins for JMeter can be downloaded from here. Extensions are available for thread groups, listeners, samplers, etc. Download the plugins from the website, extract the files, and then paste the same in JMeter’s EXT folder where all the extensions are present.

Stepping Thread Group provides a nice way of generating load and can be utilized in various scenarios. It lets you configure the number of threads you want to add sequentially and generates an informational graph showing how the load is increasing.

Similarly, there are a lot of plugins on listeners providing different types of graphs that you can generate and provide reports to the client in a detailed way. Plugins for Timers are also available which can be downloaded if the built-in timers are not serving your purpose.

Understanding JMeter Plugins

Plugin Manager can be installed to JMeter by downloading and placing the Jar file in lib/ext folder.

Once the jar is placed, restart the JMeter and observe a new icon created at the top right for the Plugin Manager, as shown in the image below. When you click on the icon, it will open the list of plugins.

Plugin Manager icon

List of Plugins

Plugins can be installed from the “Available Plugins” and if an upgrade is available, it will be shown under “Upgrades” and can be installed from there. A list of already installed Plugins will be available under “Installed plugins”.

There are more than 60 plugins available for Graphs, Thread Groups, Timers, Listeners, Tools, Functions, Logic controllers, Samplers, Config Items, Pre-processors, Post-Processors, Assertions, etc.

Let’s take a brief look at the Thread group and Listener plugins before we go for commonly used plugins.

Thread Groups Plugin

In JMeter, five thread groups can be installed using the Custom Thread Group plugin. These are mentioned below:

Custom Thread Group

#1) Stepping Thread Group (it is a deprecated plugin).

#2) Ultimate Thread Group

The below screenshot shows how the values provided are presented in graphical form for the thread and are easily understandable. As there are 3 threads scheduled with a Start Threads Count as 100, the graph shows 300 active threads. Startup time was chosen as 30 and 40, which can easily be stable in the graph.

Ultimate thread Group

#3) Concurrency Thread group

Based on the values provided in the below fields, the graph gets plotted as shown in the image below.

Concurrency Thread Group

#4) Arrivals Thread Group

Arrival defines the “Load” here. It represents the start of thread iteration.

Arrivals Thread Group

#5) Free-From arrivals thread group

It has a free-form schedule ability.

Free-From arrivals thread group

Listener Plugins

There are 5 Listener Plugins available in JMeter. These are as follows.

#1) Flexible File writer (described later)

#2) Non-GUI Console Status Logger

When JMeter runs in NON -GUI mode, this plugin prints summary logs to the console.

#3) Synthesis Report

Synthesis Report is a mix of Summary and Aggregated Report.

Synthesis Report

#4) Auto Stop trigger

When the test needs to be stopped while execution is in progress, we can use this plugin.

Auto Stop Listener

#5) Graphs Generator

At the end of the test, this listener generates 10-11 graphs. This listener can be used to generate CSV or PNG or both the formats for both current and existing test results.

Graph Generator

Commonly Used Plugins

Few commonly used plugins are explained below:

#1) Dummy Sampler

Complex scripts can be easily debugged through this sampler as it generates the results as the user specifies. It imitates the request and responses without running the request in actual.

Let’s see how this sampler can be used:

  • Add the thread group to a test plan.
  • Add Sampler “HTTP Request” and provide server name or IP.
  • Add Listener “View Results Tree” and run the test plan.
  • Add Dummy Sampler and provide Request Data and Response Data. Run the test plan and observe the results in the tree view. It will show the same details as provided in the dummy sampler.

Dummy Sampler_Test results

Dummy Sampler_Request data

Dummy Sampler_Request Body

Dummy Sampler_Response body

#2) Flexible File Writer

This plugin helps to write the test results in a flexible format. Test Results can be defined in the format as user wants such as columns, tabs, graphs, etc. Users can customize the report as they want and can be exported using this plugin.

Let’s see how this Listener can be used:

Flexible file writer_Thread group

  • Add the thread group to a test plan.
  • Add Sampler “HTTP Request” and provide server name or IP.
  • Add Listener “Flexible File writer” and “View Results Tree” and run the test.

Flexible file writer_Add the thread group to a test plan

Once the test plan is run, the output of this listener would be as below and can be customized or changed as the user want.

output of this listener

We had chosen “4” loop count in the thread, so the data shown is of 4 iterations and is as per the file headers selected in the flexible file writer listener. (Refer the highlighted fields in the above screenshot).

Users can choose the fields as required in his output file and can append the file as desired.

#3) Through Put Shaping Timer

This plugin helps to set the wanted hits as per the Request Per Second (RPS) load.

To test the throughput of an application under test, request per second cannot be tested accurately, the user needs to play around with the number of threads and timers but cannot get the effective results. Using the Throughput Shaping timer, the user can get this resolved.

Once the plug in is installed, it can be used to set the request per second schedule as in the below screenshot.

Throughput shaping timer

As per the data provided in the above screenshot, the test will be of 80 seconds as the duration of both the schedule is of 30 and 50 seconds.

The load scheduled by the timer can be seen in graph form, which makes it very easy and convenient to be used.

Once the test plan is executed, it considers the time duration of the test as specified in this timer and stops the test as per the scheduled time. It will not consider for any other duration specified in any of the elements of the test plan. This timer can delay the existing threads only, no new thread can be added.

#4) 3 Basic Graphs

3 Basic Graph plugin adds 3 listeners to the JMeter and shows their results in Graph form.

Let’s see how this Listener can be used:

  • Add the thread group to a test plan.
  • Add “HTTP Request” Sampler and provide server name or IP.
  • Add all the three plugins (as shown in the below screenshot) and run the test.

3 basic graphs

  • Response Times over Time

This Listener is used to get the average response time.

Response Time over Time

  • Active Threads over time

Represents the active users in every thread while the test is getting executed.

Active Threads over time

  • Transactions per second

Successful/failed transactions per second are shown in the graph.

Transactions per second

#5) Inter Thread Communication

This plugin handles data between separate thread groups. This value is put into one thread group, and that value can be attained by another thread group.

This plugin once added will be available in pre-processor and post-processors.

With functions like fifoPut, fifoGet, fifoPop, fifoSize and pre and post “inter thread” processor, users can put in sync different thread groups.

  • Interthread communication post processor: Place the item in a queue.
  • Interthread communication preprocessor reads the item and removes the same from the queue.
  • fifoPut places the item in a queue.
  • fifoGet reads the item but does not remove from the queue. If in case the queue is empty it does not wait and returns the empty string.
  • fifoPop reads the item and removes the same from the queue. In case the queue is empty it waits for the data to come in the queue and then operate.
  • fifoSize returns the number of items in the queue.

Let’s see how this processor can be used:

Inter Thread communication

  • Add a thread group in the test plan.
  • Add Sampler “HTTP Request “with server name or IP address.
  • Add “XPath Extractor” post processor and provide the XPath query to extract Roll number of a student. Provide other details like variable name in which the extracted value will be stored.
  • Add “Inter Thread Communication Post Processor “with details as FIFO query name to put data into and the value to put. The processor will take the value to put and place it in a queue.

Inter thread communication PostProcessor

  • Add the second thread group to the test plan.
  • Add a “dummy sampler “and provide request data as the output of variable value.
  • Add “Inter Thread Communication Pre-processor “ to store the value in the queue.

Inter Thread Communication Pre-processor

  • Run the test plan and check that the dummy sampler will provide the extracted data from the first thread in the request tab.

FAQs About JMeter Plugin

Q #1) Where do I put JMeter plugins?

Answer: JMeter plugins can be installed through the Plugin Manager. Download the jar file provided and put it in lib/ext. Then restart JMeter. Once restarted, through the Plugin Manager, any required plugin can be installed in JMeter.

Q #2) How do JMeter check CPU and memory utilization?

Answer: PerfMon Listener (Servers Performance Monitoring) plugin can be used to check CPU and memory utilization.

PerfMon agent has to be installed on the hosts, which requires monitoring and also install PerfMon metrics collector. Users can configure it accordingly to view the results.

Q #3) What is JMeter TPS?

Answer: TPS stands for “Transaction Per Second”. It can help to verify the performance of the application which is under test. It basically indicates the load that the server can take.

Conclusion

A number of plugins are available and can be added and used easily to get the desired outputs. Dummy Sampler is very useful as it helps to debug complex scripts. The Flexible file writer is a listener plugin, which gives the user freedom to get the results in which format they want. Users can customize the field and formats required for his analysis of the output.

3 Basic graphs are also a listener plugin which helps to get results in graph form which are easily understandable and helps in the analysis. Throughput shaping timer helps to set the server hits for a request per second. Inter thread communication lets the output from one thread to be the input of another thread, which makes things easy and simple for a user to use.

<< PREV   |  NEXT >>

Was this helpful?

Thanks for your feedback!

Leave a Comment