MCPcopy Create free account
hub / github.com/cortexproject/cortex / DurationWithPositiveJitter

Function DurationWithPositiveJitter

pkg/util/time.go:87–97  ·  view source on GitHub ↗

DurationWithPositiveJitter returns random duration from "input" to "input + input*variance" interval.

(input time.Duration, variancePerc float64)

Source from the content-addressed store, hash-verified

85
86// DurationWithPositiveJitter returns random duration from "input" to "input + input*variance" interval.
87func 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.
100func PositiveJitter(input time.Duration, variancePerc float64) time.Duration {

Callers 3

NewFunction · 0.92

Calls

no outgoing calls