MCPcopy Index your code
hub / github.com/cortexproject/cortex / DurationWithJitter

Function DurationWithJitter

pkg/util/time.go:74–84  ·  view source on GitHub ↗

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

(input time.Duration, variancePerc float64)

Source from the content-addressed store, hash-verified

72
73// DurationWithJitter returns random duration from "input - input*variance" to "input + input*variance" interval.
74func DurationWithJitter(input time.Duration, variancePerc float64) time.Duration {
75 // No duration? No jitter.
76 if input == 0 {
77 return 0
78 }
79
80 variance := int64(float64(input) * variancePerc)
81 jitter := rand.Int63n(variance*2) - variance
82
83 return input + time.Duration(jitter)
84}
85
86// DurationWithPositiveJitter returns random duration from "input" to "input + input*variance" interval.
87func DurationWithPositiveJitter(input time.Duration, variancePerc float64) time.Duration {

Callers 13

runningMethod · 0.92
runMethod · 0.92
userIndexUpdateLoopMethod · 0.92
NewLoaderFunction · 0.92
startingMethod · 0.92
userIndexUpdateLoopMethod · 0.92
shipBlocksLoopMethod · 0.92
runMethod · 0.92
userIndexUpdateLoopMethod · 0.92
TestDurationWithJitterFunction · 0.85

Calls

no outgoing calls

Tested by 2

TestDurationWithJitterFunction · 0.68