Helm Hook Execution Calculator
Calculate total hook execution time from each hook's weight-ordered duration, matching Helm's `helm.sh/hook-weight` execution order.
Inputs
Duration of the first hook to run (lowest hook-weight).
Duration of the second hook to run.
Duration of the third hook to run (highest hook-weight).
Helm runs same-phase hooks in weight order, waiting for each to complete before starting the next.
Total Hook Execution Time
25.0sec
Total Hook Execution Time
0.42min
Slowest Individual Hook
12.0sec
Step by step
Sum of hook durations (weight order)
5s + 12s + 8s
= 25.0s
Execution mode
sequential (weight-ordered)
= 25.0s
How it works
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
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.