grafana/k6 · error

invalid percentile trend stat value '%s', provide a number b

Error message

invalid percentile trend stat value '%s', provide a number between 0 and 100

What it means

Raised by parsePercentile when a p(...) trend stat's inner value fails to parse as a float or falls outside the 0–100 range. Reached only after the p(...) format check has passed.

Source

Thrown at metrics/sample.go:182

		if err != nil {
			return nil, err
		}
		result[stat] = dynamicResolver(percentile)
	}

	return result, nil
}

// parsePercentile is a helper function to parse and validate percentile notations
func parsePercentile(stat string) (float64, error) {
	if !strings.HasPrefix(stat, "p(") || !strings.HasSuffix(stat, ")") {
		return 0, fmt.Errorf("invalid trend stat '%s', unknown format", stat)
	}

	percentile, err := strconv.ParseFloat(stat[2:len(stat)-1], 64)

	if err != nil || (percentile < 0) || (percentile > 100) {
		return 0, fmt.Errorf("invalid percentile trend stat value '%s', provide a number between 0 and 100", stat)
	}

	return percentile, nil
}

View on GitHub (pinned to 01ffac6f24)

Solutions

  1. Use a number between 0 and 100 inside p(), e.g. p(99.9)
  2. Avoid negative values or values over 100
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at metrics/sample.go:182 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/e111ee87b6c8828d. Report an issue: GitHub.