Skip to content

Commit 9bbcd54

Browse files
committed
fixed error with speed factor under 0
1 parent 0d476a7 commit 9bbcd54

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

cmd/slowql-replayer/main.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ func main() {
125125

126126
db.logger.Infof("replay started on %s", time.Now().Format("Mon Jan 2 15:04:05"))
127127
db.logger.Infof("estimated time of end: %s", time.Now().
128-
Add(realExec/time.Duration(db.speedFactor)).Format("Mon Jan 2 15:04:05"))
128+
Add(time.Duration(float64(realExec)/db.speedFactor)).Format("Mon Jan 2 15:04:05"))
129129

130130
r, err := db.replay(f)
131131
if err != nil {
@@ -154,6 +154,12 @@ func (o *options) parse() []error {
154154
errs = append(errs, errors.New("no database provided"))
155155
} else if o.workers <= 0 {
156156
errs = append(errs, errors.New("cannot create negative number or zero workers"))
157+
} else if o.factor <= 0 {
158+
errs = append(errs, errors.New("cannot use a speed factor inferior or equal to 0"))
159+
}
160+
161+
if len(errs) != 0 {
162+
return errs
157163
}
158164

159165
if o.usePass {
@@ -285,14 +291,7 @@ func (db *database) replay(f io.Reader) (results, error) {
285291

286292
var j job
287293
delta := q.Time.Sub(reference)
288-
diviser := time.Duration(db.speedFactor)
289-
if diviser >= 1.0 {
290-
j.idle = start.Add(delta / diviser)
291-
} else if diviser > 0.0 {
292-
j.idle = start.Add(delta * (1 / diviser))
293-
} else {
294-
j.idle = start.Add(delta)
295-
}
294+
j.idle = start.Add(time.Duration(float64(delta) / db.speedFactor))
296295
j.query = q.Query
297296
db.logger.Tracef("next sleeping time: %s", j.idle)
298297

0 commit comments

Comments
 (0)