grafana/k6 · error
the startRate value can't be negative
Error message
the startRate value can't be negative
What it means
Raised by RampingArrivalRateConfig.Validate when the scenario's startRate option is a negative number. The arrival-rate ramping executor treats startRate as the baseline iterations-per-timeUnit, which cannot be negative.
Source
Thrown at lib/executor/ramping_arrival_rate.go:91
if varc.MaxVUs.Int64 > varc.PreAllocatedVUs.Int64 {
maxVUsRange += fmt.Sprintf("-%d", et.ScaleInt64(varc.MaxVUs.Int64))
}
maxUnscaledRate := getStagesUnscaledMaxTarget(varc.StartRate.Int64, varc.Stages)
maxArrRatePerSec, _ := getArrivalRatePerSec(
getScaledArrivalRate(et.Segment, maxUnscaledRate, varc.TimeUnit.TimeDuration()),
).Float64()
return fmt.Sprintf("Up to %.2f iterations/s for %s over %d stages%s",
maxArrRatePerSec, sumStagesDuration(varc.Stages),
len(varc.Stages), varc.getBaseInfo(maxVUsRange))
}
// Validate makes sure all options are configured and valid
func (varc *RampingArrivalRateConfig) Validate() []error {
errors := varc.BaseConfig.Validate()
if varc.StartRate.Int64 < 0 {
errors = append(errors, fmt.Errorf("the startRate value can't be negative"))
}
if varc.TimeUnit.TimeDuration() <= 0 {
errors = append(errors, fmt.Errorf("the timeUnit must be more than 0"))
}
errors = append(errors, validateStages(varc.Stages)...)
if !varc.PreAllocatedVUs.Valid {
errors = append(errors, fmt.Errorf("the number of preAllocatedVUs isn't specified"))
} else if varc.PreAllocatedVUs.Int64 < 0 {
errors = append(errors, fmt.Errorf("the number of preAllocatedVUs can't be negative"))
}
if !varc.MaxVUs.Valid {
// TODO: don't change the config while validating
varc.MaxVUs.Int64 = varc.PreAllocatedVUs.Int64
} else if varc.MaxVUs.Int64 < varc.PreAllocatedVUs.Int64 {View on GitHub (pinned to 01ffac6f24)
Solutions
- Set startRate to 0 or a positive number in the ramping-arrival-rate scenario options
- Start at 0 and let the first stage's target define the initial load
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at lib/executor/ramping_arrival_rate.go:91 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18).
Data as JSON: /api/errors/676cb6f6e279e8b5.
Report an issue: GitHub.