Skip to content
Calcrivo

Build Queue Calculator

Estimate how long a build waits in the Jenkins queue based on queue length, available executors, and average build time.

Inputs

builds

Number of builds waiting ahead of (and including) this one.

executors

Total executor slots across all agents able to run this build.

min

Average time a single build occupies an executor.

Estimated Queue Wait Time

18.00min

Estimated Queue Wait Time

0.300hr

Queue Rounds (Batches of Executors)

3.00

Step by step

  1. Queue rounds = queue length ÷ executors

    12 ÷ 4

    = 3.00 rounds

  2. Wait time = queue rounds × avg build time

    3.00 × 6min

    = 18.00 min

How it works

When more builds are queued than there are free executors, Jenkins processes them in batches roughly the size of the executor pool, so a build's expected wait time is proportional to how many 'rounds' of builds must complete ahead of it. Dividing queue length by executor count gives the number of rounds, and multiplying by average build time converts that into an estimated wall-clock wait — a simplified model that assumes builds are homogeneous and executors are fungible across them.

Formula

waitTime = (queueLength / executors) × avgBuildTime

Q
Builds currently queued
E
Available executors
t_{avg}
Average build time in minutes
W
Estimated queue wait time in minutes

Frequently Asked Questions

Why might real wait times differ from this estimate?

Real queues have heterogeneous build durations, executor labels/restrictions that prevent some builds from using all executors, and priority/quiet-period settings — all of which this simplified average-based model doesn't capture.

What's the fastest way to reduce queue wait time?

Add more executors (more agents or higher per-agent executor count), reduce average build time itself (caching, parallelism), or use build throttling/priority plugins to ensure critical builds aren't stuck behind low-priority ones.

Does this account for builds that need a specific label?

No — it assumes any of the available executors can run the queued builds; in practice, label-restricted builds (e.g. requiring a GPU or specific OS) effectively queue against a smaller executor pool than the cluster-wide total.

You might also need