Skip to content
Calcrivo

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

sec

Duration of the first hook to run (lowest hook-weight).

sec

Duration of the second hook to run.

sec

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

  1. Sum of hook durations (weight order)

    5s + 12s + 8s

    = 25.0s

  2. 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.

You might also need