Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest version.

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);
}