diff --git a/util/jitter/jitter.go b/util/jitter/jitter.go new file mode 100644 index 00000000..24e0700d --- /dev/null +++ b/util/jitter/jitter.go @@ -0,0 +1,17 @@ +// Package jitter provides a random jitter +package jitter + +import ( + "math/rand" + "time" +) + +var ( + r = rand.New(rand.NewSource(time.Now().UnixNano())) +) + +// Do returns a random time to jitter with max cap specified +func Do(d time.Duration) time.Duration { + v := r.Float64() * float64(d.Nanoseconds()) + return time.Duration(v) +}