in pkg/telemetrygen/config.go [76:101]
func (f *RateFlag) Set(s string) error {
before, after, ok := strings.Cut(s, "/")
if !ok || before == "" || after == "" {
return fmt.Errorf("invalid rate %q, expected format burst/duration", s)
}
burst, err := strconv.Atoi(before)
if err != nil {
return 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 fmt.Errorf("invalid interval %q in event rate: %w", after, err)
}
if interval <= 0 {
return fmt.Errorf("invalid interval %q, must be positive", after)
}
f.Burst = burst
f.Interval = interval
return nil
}