Skip to content
ENExplore Calculators

Helm Hook Execution Calculator

Estimate total execution time added by pre/post-install and upgrade Helm hooks.

About Helm Hook Execution Calculator

Helm hooks of the same type (e.g. all `pre-upgrade` hooks) execute in ascending `helm.sh/hook-weight` order, and Helm waits for each weighted group to complete before moving to the next — so total hook time for a given phase is the sum of each hook's duration in weight order, not the maximum. This is why chaining many sequential hooks (migrations, cache warms, smoke tests) can add up to a meaningful share of total upgrade time even when no single hook is individually slow.

Formula

totalTime = hook1Duration + hook2Duration + hook3Duration (sequential)

t_i
Duration of hook i in weight order (seconds)
T
Total hook execution time in seconds

Worked example

With the default values below, Helm Hook Execution Calculator returns Total Hook Execution Time of 25.0. Change any input above and every figure here is recalculated in your browser.

Inputs used

Hook 1 Durationaccepts 0–7,200 sec
5 sec
Hook 2 Durationaccepts 0–7,200 sec
12 sec
Hook 3 Durationaccepts 0–7,200 sec
8 sec
Hooks Run Sequentially
Yes

Results

Total Hook Execution Time
25.0 sec
Total Hook Execution Time
0.42 min
Slowest Individual Hook
12.0 sec

Step by step

  1. 1Sum of hook durations (weight order)= 25.0s
  2. 2Execution mode= 25.0s

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 2 decimal places, 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

What is hook-weight and how does it affect ordering?

`helm.sh/hook-weight` is an annotation (string-encoded integer, can be negative) that determines execution order within the same hook type — lower weights run first, and Helm waits for each to reach a successful state before starting the next.

Do hooks with different weights ever run in parallel?

No — Helm executes hooks of the same type strictly in ascending weight order, one at a time; only hooks that share the exact same weight value have no defined ordering guarantee relative to each other, though Helm still doesn't guarantee true concurrent execution of those either.

What happens if a hook fails?

By default Helm aborts the operation on hook failure (unless `helm.sh/hook-delete-policy` and error handling dictate otherwise), so a slow or failing early-weight hook blocks all subsequent hooks and the rest of the upgrade from proceeding.

Helm Hook Execution Calculator | Calcrivo