DurationWithPositiveJitter returns random duration from "input" to "input + input*variance" interval.
(input time.Duration, variancePerc float64)
| 85 | |
| 86 | // DurationWithPositiveJitter returns random duration from "input" to "input + input*variance" interval. |
| 87 | func DurationWithPositiveJitter(input time.Duration, variancePerc float64) time.Duration { |
| 88 | // No duration? No jitter. |
| 89 | if input == 0 { |
| 90 | return 0 |
| 91 | } |
| 92 | |
| 93 | variance := int64(float64(input) * variancePerc) |
| 94 | jitter := rand.Int63n(variance) |
| 95 | |
| 96 | return input + time.Duration(jitter) |
| 97 | } |
| 98 | |
| 99 | // PositiveJitter returns random duration from "0" to "input*variance" interval. |
| 100 | func PositiveJitter(input time.Duration, variancePerc float64) time.Duration { |
no outgoing calls