mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/yunionio/cloudpods.git
synced 2026-09-21 08:33:54 +08:00
Conflicts: Gopkg.lock pkg/appsrv/appsrv.go pkg/cloudcommon/options.go pkg/compute/models/hosts.go pkg/compute/models/quotas.go pkg/compute/service/service.go pkg/mcclient/mcclient.go
18 lines
529 B
Go
18 lines
529 B
Go
package missinggo
|
|
|
|
import (
|
|
"math/rand"
|
|
"time"
|
|
)
|
|
|
|
// Returns random duration in the range [average-plusMinus,
|
|
// average+plusMinus]. Negative plusMinus will likely panic. Be aware that if
|
|
// plusMinus >= average, you may get a zero or negative Duration. The
|
|
// distribution function is unspecified, in case I find a more appropriate one
|
|
// in the future.
|
|
func JitterDuration(average, plusMinus time.Duration) (ret time.Duration) {
|
|
ret = average - plusMinus
|
|
ret += time.Duration(rand.Int63n(2*int64(plusMinus) + 1))
|
|
return
|
|
}
|