Key takeaways
- JMeterPlugins-Extras and JMeterPlugins-ExtrasLibs were zip “plugin sets” from jmeter-plugins.org. The last release was 1.4.0 (April 2016); after that the sets were split into small plugins for the Plugins Manager.
- To get the same components today, install the Plugins Manager and tick the plugins listed in the table below, such as 5 Additional Graphs or Distribution/Percentile Graphs.
- The JSON tools from ExtrasLibs are deprecated. JMeter’s built-in JSON Extractor and JSON Assertion do the same job without a plugin.
To install the components that used to ship as JMeterPlugins-Extras and JMeterPlugins-ExtrasLibs, install the JMeter Plugins Manager and select the individual plugins that replaced them. The two bundles were last released as version 1.4.0 in April 2016, and jmeter-plugins.org now distributes their graphs, samplers and config elements as separate plugins. The old zips still download, but they date from the JMeter 2.x era.
What happened to JMeterPlugins-Extras and JMeterPlugins-ExtrasLibs?
Until 2016, jmeter-plugins.org shipped its plugins in a few zip sets: Standard, Extras, ExtrasLibs, WebDriver and Hadoop. Release 1.4.0, dated April 5, 2016 in the project changelog, was the last one. The changelog’s next entry says all plugin sets are “broken up into tens of smaller plugins to be used with Plugins Manager”, and the changelog itself stopped being updated after that. The installation page now opens with “The easiest way to get the plugins is to install Plugins Manager.”
The difference between the two sets was about dependencies. Extras held plugins that need nothing beyond JMeter. ExtrasLibs held plugins that depend on third-party libraries (JSON, OAuth, Redis, JMS), so its zip carried those library jars as well. They were separate sets with different components, not two halves of one install: you added whichever one contained the elements you needed.
Which plugins replaced the Extras and ExtrasLibs components?
We downloaded both 1.4.0 zips from jmeter-plugins.org on October 24, 2026, listed the components inside each jar and matched their class names against the current Plugins Manager catalog (the OAuth and JMS entries by plugin name and bundled libraries, since the catalog lists no classes for them). This is the result:
| Old set | Components | Plugin to install today (id) |
|---|---|---|
| Extras | Response Codes per Second, Bytes Throughput Over Time, Connect Times Over Time, Response Latencies Over Time | 5 Additional Graphs (jpgc-graphs-additional) |
| Extras | Response Times Distribution, Response Times Percentiles | Distribution/Percentile Graphs (jpgc-graphs-dist) |
| Extras | Response Times vs Threads, Transaction Throughput vs Threads | KPI vs KPI Graphs (jpgc-graphs-vs) |
| Extras | Parameterized Controller | Parameterized Controller & Set Variables Action (jpgc-prmctl) |
| Extras | HTTP Raw Request, Raw Data Source PreProcessor | HTTP Raw Request (jpgc-httpraw) |
| Extras | UDP Request | UDP Protocol Support (jpgc-udp) |
| Extras | Variables From CSV File | Variables from CSV File (jpgc-csvars) |
| Extras | Lock File Config | Lock File Config (jpgc-lockfile) |
| Extras | AutoStop Listener | Auto-Stop Listener (jpgc-autostop) |
| Extras | HTTP Simple Table Server | HTTP Simple Table Server (jpgc-sts) |
| Extras | Merge Results | Merge Results (jpgc-mergeresults) |
| Extras | Page Data Extractor | Page Data Extractor (jpgc-pde) |
| Extras | DbMon Samples Collector, JMXMon Samples Collector | DBMon Sample Collector (jpgc-dbmon), JMXMon Sample Collector (jpgc-jmxmon) |
| Extras | XML Format Post Processor | XML Plugins (jpgc-xml) |
| ExtrasLibs | JSON Path Extractor, JSON Path Assertion, JSON Format Post Processor, JSON to XML Converter | JSON/YAML Plugins (jpgc-json), marked deprecated in favour of core JMeter |
| ExtrasLibs | OAuth Sampler | OAuth Sampler (jpgc-oauth), marked deprecated |
| ExtrasLibs | Redis Data Set | Redis Data Set (jpgc-redis) |
| ExtrasLibs | JMS tools | JMS Send and Receive Sampler (jpgc-jms) |
One Extras element, the Spider PreProcessor, has no matching entry in today’s catalog.
Two things surprise people who learned JMeter from older tutorials, including the first version of this one. The Ultimate Thread Group, Stepping Thread Group, Hits per Second, Response Times Over Time and Active Threads Over Time were not part of Extras; in the 1.4.0 release they sat in the Standard set. Today the thread groups come with Custom Thread Groups (jpgc-casutg), Response Times Over Time and Active Threads Over Time with 3 Basic Graphs (jpgc-graphs-basic), and Hits per Second with 5 Additional Graphs. And for JSON, you no longer need a plugin at all: JMeter has a built-in JSON Extractor post-processor and a JSON Assertion.
How do you install the Extras components with the Plugins Manager?
Download the Plugins Manager jar from jmeter-plugins.org, put it in the lib/ext folder of your JMeter installation and restart JMeter. Then open Options > Plugins Manager, find each plugin from the table on the Available Plugins tab, tick it and apply the changes. The manager downloads the plugin with the libraries it depends on, which is the job ExtrasLibs used to do by hand, and restarts JMeter.
The JMeter Plugins Manager guide covers the dialog, updates and troubleshooting step by step. On a server or in CI, the manager’s command-line tool takes the same ids. For example, to add the graphs that Extras used to provide:
PluginsManagerCMD.sh install jpgc-graphs-additional,jpgc-graphs-dist,jpgc-graphs-vs
If you inherited an old .jmx file and do not know which plugins it uses, PluginsManagerCMD.sh install-for-jmx /path/to/testPlan.jmx reads the plan and installs what it references. You need JMeter itself first: the current release is 5.6.3, which runs on Java 8 or later. On a Mac, our guide to installing JMeter with Homebrew gets you there in a few commands.
Can you still install the old 1.4.0 zip files?
You can, and the files still download from jmeter-plugins.org, but use them only to reproduce an old environment. Each zip mirrors the JMeter folder layout, so you unzip it into the JMeter home folder (the one that contains bin and lib) and let the folders merge:
JMeterPlugins-Extras-1.4.0.zipputsJMeterPlugins-Extras.jarintolib/ext.JMeterPlugins-ExtrasLibs-1.4.0.zipputsJMeterPlugins-ExtrasLibs.jarintolib/extand its third-party libraries (json-path, json-smart, jedis, qpid and others) intolib.
Earlier versions of this article had those folders the wrong way round; the zip contents above are what the files hold. Restart JMeter after copying. The README inside the zips still names Java 1.6 and JMeter 2.4 as requirements, and the 1.3.0 changelog raised that to Java 7 and JMeter 2.12, so nobody tested these jars against JMeter 5.6.3. Do not mix them with the Plugins Manager versions of the same plugins either: both define the same classes, and JMeter would load whichever it finds first.
Example: shaping load with the Ultimate Thread Group
The Ultimate Thread Group, from Custom Thread Groups, is the plugin most people were looking for when they searched for the Extras set. Each row in its schedule sets a number of threads, an initial delay, a startup (ramp-up) time, how long to hold the load and a shutdown time, and you can add as many rows as the test needs. The rows overlap, so you can build a staircase or a spike that a standard Thread Group cannot express. How long to ramp up is a separate question, covered in our JMeter ramp-up period guide.
You can also set the schedule from the command line with the threads_schedule property. Per the plugin documentation, each spawn takes the thread count, initial delay, startup time, hold time and shutdown time, in that order:
jmeter -n -t testPlan.jmx -l results.jtl -J "threads_schedule=spawn(100,0s,60s,5m,30s) spawn(100,2m,60s,5m,30s)"
This starts 100 threads over 60 seconds and holds them for 5 minutes; a second group of 100 starts after 2 minutes, so the load steps up to 200 for a while before both groups shut down over 30 seconds each.
Why do plugin elements not show up in JMeter?
- JMeter was not restarted. Plugins load at start-up. The Plugins Manager restarts JMeter for you; after a manual copy you have to do it yourself.
- The jar is in the wrong folder. Plugin jars go in
lib/ext; their supporting libraries go inlib. Check the installation you actually launch, since a machine often has more than one JMeter. - You are looking under the wrong name. jmeter-plugins.org elements appear with a
jp@gc -prefix in the Add menus, for example jp@gc - Response Codes per Second. - A test plan opens with errors about missing classes. The plan uses a plugin you have not installed. Install it from the table above, or run
install-for-jmxon the file.
jmeter.log, written to the folder you started JMeter from, records which jars loaded and why one failed, and it is the first place to look.
Running plugin-based test plans in the cloud
A plugin installed on your laptop is not on any other machine, and with your own distributed JMeter you keep the plugin set identical on every load generator. LoadFocus JMeter load testing runs an uploaded .jmx from 25 cloud regions, and the product page says CSV data files, thread groups, timers, assertions, JSR223 samplers and plugins come along with the plan. It does not list individual plugins, so run a short test first to confirm the one you depend on behaves as it does locally.
Frequently Asked Questions
Where can I download JMeterPlugins-Extras?
The 1.4.0 zip is still on jmeter-plugins.org, but it has not been updated since April 2016. For a current JMeter, install the Plugins Manager instead and pick the individual plugins that replaced the Extras components, such as 5 Additional Graphs or Distribution/Percentile Graphs.
Do I need ExtrasLibs to use Extras?
No. They were separate sets with different components. ExtrasLibs only mattered if you needed one of its own elements, such as the JSON Path Extractor, the OAuth Sampler or the Redis Data Set, because those depend on third-party libraries that the ExtrasLibs zip included.
How do I check that a plugin is installed?
Open Options > Plugins Manager and look at the Installed Plugins tab, or run PluginsManagerCMD.sh status from the bin folder. In the GUI, the plugin’s elements also appear in the Add menus with a jp@gc - prefix after a restart.
Is the JSON Path Extractor plugin still needed?
No. jmeter-plugins.org marks its JSON/YAML Plugins as deprecated in favour of core JMeter. Use JMeter’s built-in JSON Extractor post-processor to pull values out of a JSON response and the JSON Assertion to check them.
Sources
- JMeter Plugins changelog (1.4.0 release date, sets broken up for the Plugins Manager, 1.3.0 requirements), jmeter-plugins.org/wiki/Changelog (October 2026)
- JMeter Plugins installation pages, jmeter-plugins.org/install/Install and jmeter-plugins.org/wiki/PluginInstall (October 2026)
- JMeter Plugins catalog (plugin ids, component classes, deprecation notes), jmeter-plugins.org/repo (October 2026)
- JMeterPlugins-Extras-1.4.0.zip, JMeterPlugins-ExtrasLibs-1.4.0.zip and JMeterPlugins-Standard-1.4.0.zip, downloaded from jmeter-plugins.org/downloads/file and inspected (October 2026)
- Plugins Manager from the command line, jmeter-plugins.org/wiki/PluginsManagerAutomated (October 2026)
- Ultimate Thread Group and
threads_schedule, jmeter-plugins.org/wiki/UltimateThreadGroup (October 2026) - Apache JMeter component reference (JSON Extractor, JSON Assertion) and download page (5.6.3, Java 8+), jmeter.apache.org (October 2026)
- LoadFocus JMeter load testing page, loadfocus.com/jmeter-load-testing (October 2026)