From 2b25b1c60c223149f0b57a6b5bff908f26e1a8ce Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Wed, 20 May 2026 16:38:49 +0530 Subject: [PATCH 1/3] Add Coordinated Throughput Controller plugin --- site/dat/repo/various.json | 24 +++++++++ .../wiki/CoordinatedThroughputController.md | 49 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 site/dat/wiki/CoordinatedThroughputController.md diff --git a/site/dat/repo/various.json b/site/dat/repo/various.json index 38d118bb3..e268aee9d 100644 --- a/site/dat/repo/various.json +++ b/site/dat/repo/various.json @@ -3398,5 +3398,29 @@ "downloadUrl": "https://repo1.maven.org/maven2/com/qainsights/readme-config-element/0.0.1/readme-config-element-0.0.1-jar-with-dependencies.jar" } } + }, + { + "id": "coordinated-throughput-controller", + "name": "Coordinated Throughput Controller", + "description": "A JMeter Logic Controller that coordinates sibling branches so one weighted branch is selected per parent iteration. If sibling weights add up to less than 100, the remainder intentionally selects no coordinated branch.", + "screenshotUrl": "", + "helpUrl": "https://github.com/ammyrohilla5050-dot/jmeter-coordinated-throughput-controller", + "vendor": "Amit Rohilla", + "markerClass": "org.apache.jmeter.control.CoordinatedThroughputController", + "componentClasses": [ + "org.apache.jmeter.control.CoordinatedThroughputController", + "org.apache.jmeter.control.gui.CoordinatedThroughputControllerGui" + ], + "versions": { + "0.1.0": { + "changes": "Initial public release.", + "downloadUrl": "https://github.com/ammyrohilla5050-dot/jmeter-coordinated-throughput-controller/releases/download/v0.1.0/jmeter-coordinated-throughput-controller-0.1.0.jar", + "depends": [ + "jmeter-core", + "jmeter-components" + ], + "libs": {} + } + } } ] diff --git a/site/dat/wiki/CoordinatedThroughputController.md b/site/dat/wiki/CoordinatedThroughputController.md new file mode 100644 index 000000000..019b73ffd --- /dev/null +++ b/site/dat/wiki/CoordinatedThroughputController.md @@ -0,0 +1,49 @@ +# Coordinated Throughput Controller + +[ Download](/?search=coordinated-throughput-controller) + +Coordinated Throughput Controller is a JMeter Logic Controller for weighted, +mutually-exclusive branch selection. + +JMeter's standard Throughput Controller evaluates each sibling independently. +If two sibling Throughput Controllers are both configured at 50%, both can run +during the same parent iteration. Coordinated Throughput Controller makes one +shared decision across sibling coordinated controllers under the same immediate +parent, so only one coordinated branch runs per parent iteration. + +## Basic Usage + +Place two or more Coordinated Throughput Controllers as siblings under the same +parent controller, then place each branch's samplers/controllers under the +corresponding coordinated controller. + +Example: + +```text +Thread Group + Loop Controller + Coordinated Throughput Controller - Login Flow + HTTP Request - Login + HTTP Request - Fetch Profile + Coordinated Throughput Controller - Browse Flow + HTTP Request - Browse Products + HTTP Request - Product Details +``` + +If the Login Flow has weight `30` and the Browse Flow has weight `40`, then +across parent iterations: + +```text +Login Flow -> about 30% +Browse Flow -> about 40% +No branch -> about 30% +``` + +## Weight Behavior + +Weights are deterministic, not random. + +If sibling weights total `100`, exactly one coordinated branch runs each parent +iteration. If weights total less than `100`, the remaining percentage means +"run none of the coordinated branches." If weights total more than `100`, the +weights act as relative weights and there is no no-selection remainder. From 703bfe220bddb9fed2abbceef8421a9613faee93 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Wed, 20 May 2026 19:10:37 +0530 Subject: [PATCH 2/3] Add Coordinated Throughput Controller plugin --- site/dat/repo/various.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/dat/repo/various.json b/site/dat/repo/various.json index e268aee9d..aeccb67f0 100644 --- a/site/dat/repo/various.json +++ b/site/dat/repo/various.json @@ -3405,7 +3405,7 @@ "description": "A JMeter Logic Controller that coordinates sibling branches so one weighted branch is selected per parent iteration. If sibling weights add up to less than 100, the remainder intentionally selects no coordinated branch.", "screenshotUrl": "", "helpUrl": "https://github.com/ammyrohilla5050-dot/jmeter-coordinated-throughput-controller", - "vendor": "Amit Rohilla", + "vendor": "Amit Kumar", "markerClass": "org.apache.jmeter.control.CoordinatedThroughputController", "componentClasses": [ "org.apache.jmeter.control.CoordinatedThroughputController", From 6a7a4022f738518cc5276f9941a8f806ace38ad5 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Fri, 22 May 2026 21:24:52 +0530 Subject: [PATCH 3/3] Remove plugin wiki page --- .../wiki/CoordinatedThroughputController.md | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 site/dat/wiki/CoordinatedThroughputController.md diff --git a/site/dat/wiki/CoordinatedThroughputController.md b/site/dat/wiki/CoordinatedThroughputController.md deleted file mode 100644 index 019b73ffd..000000000 --- a/site/dat/wiki/CoordinatedThroughputController.md +++ /dev/null @@ -1,49 +0,0 @@ -# Coordinated Throughput Controller - -[ Download](/?search=coordinated-throughput-controller) - -Coordinated Throughput Controller is a JMeter Logic Controller for weighted, -mutually-exclusive branch selection. - -JMeter's standard Throughput Controller evaluates each sibling independently. -If two sibling Throughput Controllers are both configured at 50%, both can run -during the same parent iteration. Coordinated Throughput Controller makes one -shared decision across sibling coordinated controllers under the same immediate -parent, so only one coordinated branch runs per parent iteration. - -## Basic Usage - -Place two or more Coordinated Throughput Controllers as siblings under the same -parent controller, then place each branch's samplers/controllers under the -corresponding coordinated controller. - -Example: - -```text -Thread Group - Loop Controller - Coordinated Throughput Controller - Login Flow - HTTP Request - Login - HTTP Request - Fetch Profile - Coordinated Throughput Controller - Browse Flow - HTTP Request - Browse Products - HTTP Request - Product Details -``` - -If the Login Flow has weight `30` and the Browse Flow has weight `40`, then -across parent iterations: - -```text -Login Flow -> about 30% -Browse Flow -> about 40% -No branch -> about 30% -``` - -## Weight Behavior - -Weights are deterministic, not random. - -If sibling weights total `100`, exactly one coordinated branch runs each parent -iteration. If weights total less than `100`, the remaining percentage means -"run none of the coordinated branches." If weights total more than `100`, the -weights act as relative weights and there is no no-selection remainder.