Skip to content

Add Coordinated Throughput Controller plugin#844

Open
ammyrohilla5050-dot wants to merge 2 commits into
undera:masterfrom
ammyrohilla5050-dot:add-coordinated-throughput-controller
Open

Add Coordinated Throughput Controller plugin#844
ammyrohilla5050-dot wants to merge 2 commits into
undera:masterfrom
ammyrohilla5050-dot:add-coordinated-throughput-controller

Conversation

@ammyrohilla5050-dot
Copy link
Copy Markdown

@undera
Copy link
Copy Markdown
Owner

undera commented May 21, 2026

How is this plugin different from Weighted Switch Controller?

@ammyrohilla5050-dot
Copy link
Copy Markdown
Author

How is this plugin different from Weighted Switch Controller?

This plugin is similar in goal to Weighted Switch Controller, but the behavior and configuration model are different and managed with very less complexity and confusion at UI

Weighted Switch Controller uses one parent controller with a table of child elements and relative weights. The child entries/weights are managed from that parent table, so child naming/order changes need to be reviewed there.

Coordinated Throughput Controller uses sibling controller branches instead. Each branch owns its own weight, and branch selection is based on an internal branch ID rather than child sampler/controller names. This means renaming or reorganizing child elements inside a branch does not require updating a central weight table.

Another key difference is how totals below 100 are handled. Weighted Switch treats weights as relative values. Coordinated Throughput Controller treats weights up to 100 as percent-like values: if sibling weights add up to less than 100, the remainder intentionally selects no coordinated branch. For example, A=20 and B=30 means A runs about 20%, B runs about 30%, and no coordinated branch runs about 50%.

If weights exceed 100, the controller behaves as relative weighting. For example, A=60 and B=90 is treated as a 60:90 ratio.

So the main use case is mutually exclusive weighted sibling flows, with optional “no branch selected” behavior and no dependency on child element names which is a huge impact if someone wants to handle it all in one place only

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants