Extended-CSV dataset config for JMeter
Plugin to manage csv dataset effectively in JMeter during the Load Test
Introduction:
Hello People, In this article we gonna discuss deeply on how to use the Extended-CSV dataset config, It’s features, usages, etc..
Many of the LoadRunner users finds something difficult in managing CSV dataset when it comes to JMeter. Especially, to Unique or allocate block size per thread during the distribution of data among threads.
Well, this is pointing a solution towards that obstacle in JMeter and this plugin will enable you to get that feature available with JMeter for ease of use.
Disclaimer:
This plugin is still in beta phase. It will work almost perfect and there will be flaws as well. But with all your help, we can definitely achieve a flawless element contributed to JMeter. Happy to read your feedbacks about the flaws and improvement points to this plugin.
Problem Statement:
JMeter will not have much operation when it comes to data parameter operation. especially to the csv data set. To achieve random data fetching in CSV, we have to use Random CSV dataset plugin/JSR223 internal logic
And for the flow of data, we are not given with much option to play around.
Solution:
The solution, we propose here is the Extended-CSV dataset config. You may think what feasibility or new feature it brings to the JMeter during the load testing.
It specifically designed for the extended usage to play with CSV dataset and also help people to work with JMeter to design a better way of parameterization to the test plans.
What’s New?

- Dataset to configure the CSV to read Sequentially/Random/Unique
- Control the change in data for each iteration (Each iteration/ Once)
- More option on End of File or Out of values (Continue Cyclic/Abort Thread/Continue with last value)
- Allocate data block size for each Threads to read data from CSV (Only applicable for Unique data read)
Combinations Allowed:
The below table is the combinations allowed while using this plugin

1. Select Row
This selection allows the threads to read the data in Sequential, Unique and random order during the run
1.1 Sequential
This option allows all threads to read data from the beginning of the file. Let’s say you have 10 rows of data present in an CSV and you have 5 Users allocated in your Thread group. Now all the 5 threads will start picking up the variable from Line1.
1.2 Unique
This option will allow all the thread to have unique data consumed from CSV. In addition to that, the user will have the privilege to set the block size allocated per thread. Each thread in the Thread group will consume the data only form its own block. It also provides other features such as cyclic when out of values, continue with the last value and abort within its own block.
1.2.1 Allocate Block Size
This feature will be considered/Enabled when the select row is set to Unique and Update option is set to Each iteration. This will allocate a block of data per thread, which will be unique for consumption during the run

It also allows users to have auto allocate block size among the threads. This will auto calculate the no of rows in csv with the no of threads defined in the Thread group.
1.3 Random
This option allows all threads in the Thread Group to read the data randomly from CSV. You can either update the values for each iteration or keep the value once for all — This can be set via Update option combobox.
2. Update Values
This combobox provides option to play with updating the variables for every iteration.
2.1 Each Iteration — The parameter value changes for each iteration
2.2 Once — The parameter value will be picked once and be used for rest of the iterations
3. When out of Values
The below setting allows us to handle the situation where we hit an <EOF> End of File or <EOB> End of Block during the run
3.1 Continue Cyclic
This will make the thread to start over again from the beginning of File / Block
3.2 Abort Thread
This will make the thread to stop from the running thread group with the Exception printed to the Jmeter.log
3.3 Continue with the Last Value
This will make the thread to proceed with the last updated value for the rest o the iteration until the test ends.
Conclusion:
I personally believe that Apache JMeter has more capabilities than what it looks like. All you need is, a right — handy plugin to evaluate the performance of any application.
I have contributed the Extended csv dataset config plugin to the JMeter community, which is now available in JMeter’s plugin manager. Also, if you like my work, Hit a star to the Github Repo
Will come up with another unique article. Keep supporting, Click on follow button and hit the subscribe to get the notification on new article publish.
Stay positive, Happy engineering !