mirror of
https://github.com/buger/goreplay.git
synced 2024-04-21 12:32:02 +00:00
Add percentage based limiting
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
"math/rand"
|
||||
)
|
||||
|
||||
type Limiter struct {
|
||||
@@ -39,6 +40,10 @@ func NewLimiter(plugin interface{}, options string) io.ReadWriter {
|
||||
}
|
||||
|
||||
func (l *Limiter) isLimited() bool {
|
||||
if (l.isPercent) {
|
||||
return l.limit <= rand.Intn(100)
|
||||
}
|
||||
|
||||
if (time.Now().UnixNano() - l.currentTime) > time.Second.Nanoseconds() {
|
||||
l.currentTime = time.Now().UnixNano()
|
||||
l.currentRPS = 0
|
||||
|
||||
Reference in New Issue
Block a user