Skip to content
ENExplore Calculators

Node Label Distribution Calculator

Calculate how build jobs distribute across labeled Jenkins agent pools.

About Node Label Distribution Calculator

When builds are distributed across differently-sized labeled node pools (e.g. `linux`, `windows`, `gpu`) roughly in proportion to each pool's executor capacity, the expected share each label receives is its own weight divided by the sum of all weights, multiplied by the total build volume. This proportional model approximates how Jenkins' load-balancing tends to settle over time for unconstrained builds that could run on any of several labels, though builds hard-pinned to a specific label always route there regardless of relative weight.

Formula

labelBuilds = totalBuilds × (labelWeight / sumOfAllWeights)

B_t
Total builds to distribute
W_i
Weight (executor count) of label i
\sum W
Sum of all label weights
B_i
Builds allocated to label i

Worked example

With the default values below, Node Label Distribution Calculator returns Label 1 Builds of 625.0. Change any input above and every figure here is recalculated in your browser.

Inputs used

Total Buildsaccepts 0–10,000,000 builds
1,000 builds
Label 1 Weight (e.g. linux)accepts 0–100,000 executors
5 executors
Label 2 Weight (e.g. windows)accepts 0–100,000 executors
2 executors
Label 3 Weight (e.g. gpu)accepts 0–100,000 executors
1 executors

Results

Label 1 Builds
625.0 builds
Label 2 Builds
250.0 builds
Label 3 Builds
125.0 builds

Step by step

  1. 1Sum of weights= 8
  2. 2Label 1 builds = total × (weight ÷ sum weights)= 625.0 builds
  3. 3Label 2 builds = total × (weight ÷ sum weights)= 250.0 builds
  4. 4Label 3 builds = total × (weight ÷ sum weights)= 125.0 builds

Assumptions and limits

  • The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

Does this model apply to builds restricted to a single label?

No — this proportional distribution only applies to builds that can float across multiple compatible labels; a build pinned to `agent { label 'gpu' }` always runs on GPU nodes regardless of how the weights compare, so mixed fleets need to separate pinned and floating build populations.

What should I use as 'weight' if not raw executor count?

Executor count is a reasonable default, but weight could also reflect available CPU/memory capacity per label, or a manually assigned priority factor if certain labels should be preferred beyond raw capacity (e.g. cheaper spot-instance labels).

How is this useful for capacity planning?

It helps forecast how added or removed nodes under a given label will shift build distribution — for example, doubling the `windows` label's executor weight roughly doubles its expected share of floatable builds, which helps justify or size a targeted fleet expansion.

Node Label Distribution Calculator | Calcrivo