From 67c26c71b6e5f60155dc01266ba068da6aab08be Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Wed, 4 Mar 2020 15:37:17 +0000 Subject: [PATCH] add jitter (#1298) --- util/jitter/jitter.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 util/jitter/jitter.go 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) +}