in loadgen/limiter.go [34:57]
func ParseEventRate(eventRate string) (int, time.Duration, error) {
before, after, ok := strings.Cut(eventRate, "/")
if !ok || before == "" || after == "" {
return 0, 0, fmt.Errorf("invalid rate %q, expected format burst/duration", eventRate)
}
burst, err := strconv.Atoi(before)
if err != nil {
return 0, 0, fmt.Errorf("invalid burst %s in event rate: %w", before, err)
}
if !(after[0] >= '0' && after[0] <= '9') {
after = "1" + after
}
interval, err := time.ParseDuration(after)
if err != nil {
return 0, 0, fmt.Errorf("invalid interval %q in event rate: %w", after, err)
}
if interval <= 0 {
return 0, 0, fmt.Errorf("invalid interval %q, must be positive", after)
}
return burst, interval, nil
}