Menu
Documentationbreadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow jslibbreadcrumb arrow utilsbreadcrumb arrow normalDistributionStages(maxVus, durationSeconds, [numberOfStages])
Open source

normalDistributionStages(maxVus, durationSeconds, [numberOfStages])

Function to create stages producing a normal distribution (bell-curve) of VUs for a test.

ParameterTypeDescription
maxVusintMaximum virtual users at the height of the curve
durationSecondsintOverall duration for all stages combined
numberOfStages (optional)intNumber of stages to create; default is 10

Returns

TypeDescription
array[object]An array of {"duration": "XXXs", "target": XXX} JSON objects representing stages

Example

JavaScript
import { sleep } from 'k6';
import exec from 'k6/execution';
import { normalDistributionStages } from 'https://jslib.k6.io/k6-utils/1.2.0/index.js';

export const options = {
  // Alters the number of VUs from 1 to 10 over a period
  // of 20 seconds comprised of 5 stages.
  stages: normalDistributionStages(10, 20, 5),
};

export default function () {
  console.log(exec.instance.vusActive);
  sleep(1);
}