Apache JMeter

Custom Plugins for Apache JMeter™

This project is an independent set of plugins for Apache JMeter, the popular Open-Source load and performance testing tool.


This catalogue lists plugins available for use with Plugins Manager. If you're first time here, consider installing Plugins Manager into your JMeter.

Items found:

").addClass("sparkline-container"); var vals = values(stats); while (vals.length > 30) { vals.shift(); } var span = $("").addClass("sparkline").text(vals); pluginSpark.append(span); pluginSpark.append("
"); pluginSpark.append("Users: " + vals[vals.length - 1] + ""); return pluginSpark; } function getPluginCard(plugin) { var left = $("
").addClass("col-md-6"); left.append("

" + plugin.name + "

"); left.append("

" + plugin.description + "

"); var vers_list = Object.keys(plugin.versions); var groupId; var artifactId; var lastVersionId; if (vers_list[0] != "" && plugin.versions[vers_list[0]].downloadUrl && plugin.id !== 'jpgc-plugins-manager') { var vers = $(" Download Versions:
").addClass('small'); for (var n = 0; n < vers_list.length; n++) { var ver_link = $('' + vers_list[n] + ""); if (plugin.versions[vers_list[n]]['changes']) { ver_link.attr('title', 'Changes: ' + plugin.versions[vers_list[n]]['changes']); } vers.append(ver_link); if (n < vers_list.length - 1) { vers.append(", ") } } { var downloadUrl = plugin.versions[vers_list[vers_list.length - 1]].downloadUrl; var indexOfFP = downloadUrl.indexOf("filepath="); if (indexOfFP > 0) { var artifactUrl = downloadUrl.substring(indexOfFP + "filepath=".length); var parts = artifactUrl.split("/"); lastVersionId = parts[parts.length - 2]; artifactId = parts[parts.length - 3]; groupId = ""; for (var i = 0; i < parts.length - 3; i++) { if (i == 0) { groupId = parts[i]; } else { groupId = groupId + "." + parts[i]; } } } } left.append("
"); left.append(vers); } var mid = $("
").addClass("pull-left col-md-3 text-center"); if (plugin.screenshotUrl) { var a = $(""); a.append(""); mid.append(a); } var right = $("
").addClass("col-md-3 text-right"); right.append("ID: " + plugin.id + "
"); if (groupId) { left.append(" Maven Artifact: " + groupId + ":" + artifactId + ":" + lastVersionId + ""); } $.get('/dat/stats/plugins/' + plugin.id + '.json').success(function (json) { var sparkline = getSparkline(json['usage']); right.append(sparkline); sparkline.find(".sparkline").sparkline("html", {type: "bar", width: "100%", height: "2em"}); }); var card = $("
").addClass("row"); card.addClass("alert"); card.append(left); card.append(mid); card.append(right); card.append("
"); return card; } function refreshCatalogue() { var cnt = 0; var list = cat.find(".list"); list.empty(); var filter = cat.find("input").val().toLowerCase(); console.log("Refresh", filter); for (var n = 0; n < plugins.length; n++) { var plugin = plugins[n]; if (!plugin.name) { continue; } if (filter) { var data = plugin.id + plugin.name + plugin.description; if (plugin.componentClasses) { data += plugin.componentClasses.join(" "); } if (data.toLowerCase().indexOf(filter) < 0) { continue; } } cnt++; if (!filter && n >= 5) { continue; } list.append(getPluginCard(plugin)); } cat.find(".count span").text(cnt); cat.find(".fa-spin").hide(); //cat.find(".sparkline").sparkline("html", {type: "bar", width: "100%", height: "2em"}); if (!filter && cnt > 5) { list.append("" + (cnt - 5) + " more plugins…"); } } $.get("/repo/").success(function (data) { var typingTimer; var doneTypingInterval = 200; cat.find("input").on('keyup', function () { cat.find(".fa-spin").show(); clearTimeout(typingTimer); typingTimer = setTimeout(refreshCatalogue, doneTypingInterval); }).on('keydown', function () { clearTimeout(typingTimer); });//.change(refreshCatalogue); data.sort(function () { return Math.random() > 0.5 ? 1 : -1; }); plugins.push.apply(plugins, data); refreshCatalogue(); }); });