Start with evidence
- Count total attempts, including the first. Set the timeout for each attempt and a delivery time budget in seconds.
- Use the failure policy from your provider or integration. Do not assume that every status or network failure should be retried.
- Check duplicate handling and a terminal failure path before replaying an event. Use synthetic events in an authorized test environment, not real customer operations.
Worked examples
These examples exercise the current tool logic. Load the matching case on the tool page to reproduce its result. Downloads contain only the fixed synthetic example, never your pasted input.
Six attempts, generous budget
Maximum 215 seconds; expected 137.5 seconds; all 6 attempts fit the 600-second budget.
Example JSON
{
"attempts": 6,
"initialDelay": 5,
"multiplier": 2,
"maxDelay": 300,
"timeout": 10,
"budget": 600,
"jitter": "full"
}Download six attempts, generous budget JSON
Six attempts, 65-second budget
Maximum 215 seconds; only 3 of 6 attempts fit the 65-second budget.
Example JSON
{
"attempts": 6,
"initialDelay": 5,
"multiplier": 2,
"maxDelay": 300,
"timeout": 10,
"budget": 65,
"jitter": "full"
}Download six attempts, 65-second budget JSON
Fixed waits with a 30-second cap
Maximum and expected duration 155 seconds; 5 of 6 attempts fit the 120-second budget.
Example JSON
{
"attempts": 6,
"initialDelay": 5,
"multiplier": 2,
"maxDelay": 30,
"timeout": 10,
"budget": 120,
"jitter": "none"
}Diagnostic decisions
- Why is six attempts 215 seconds?
- With a 10-second timeout on each attempt, the six attempts consume 60 seconds. The capped maximum waits are 5, 10, 20, 40 and 80 seconds: another 155 seconds. Maximum modeled duration is 215 seconds.
- What changes with full jitter?
- This planner uses a uniform wait from zero to each capped delay. Expected total wait is half the sum of those caps, so expected duration is 60 + 77.5 = 137.5 seconds. That is a mean, not a percentile, deadline or delivery guarantee.
- What does a 65-second budget allow?
- The first three maximum finishes are 10, 25 and 45 seconds; the fourth is 75 seconds. Only three attempts fit that modeled budget, even though a favorable jitter sample could finish sooner.
What this does not establish
All attempts are serial, unsuccessful and consume their full timeout. A wait starts after the previous failure. The model excludes queue latency, network overhead, concurrency, provider retry rules and Retry-After. HTTP Retry-After can express a date or a delay in seconds; account for it separately when the integration uses it. The exported JSON is a planning record, not a provider configuration. This tool sends no webhooks and does not store settings.
Optional analytics records sanitized page paths and fixed action labels after consent. The tools keep your input local. An action count is not a person, installation, resolved incident or sale.