Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Open source RSS

Rate

Rate is an object for representing a custom metric keeping track of the percentage of added values that are non-zero. It is one of the four custom metrics.

ParameterTypeDescription
namestringThe name of the custom metric.
MethodDescription
Rate.add(value, [tags])Add a value to the rate metric.

Rate usage in Thresholds

When Rate is used in a threshold expression, the variable must be called rate (lower case). For example:

  • rate < 0.1 // less than 10%
  • rate >= 0.9 // more or equal to 90%

The value of the rate variable ranges between 0.00 and 1.00.

Examples

JavaScript
import { Rate } from 'k6/metrics';

const myRate = new Rate('my_rate');

export default function () {
  myRate.add(true);
  myRate.add(false);
  myRate.add(1);
  myRate.add(0, { tag1: 'value', tag2: 'value2' });
}
JavaScript
import { Rate } from 'k6/metrics';
import { sleep } from 'k6';
import http from 'k6/http';

const errorRate = new Rate('errorRate');

export const options = {
  vus: 1,
  duration: '5m',
  thresholds: {
    errorRate: [
      // more than 10% of errors will abort the test
      { threshold: 'rate < 0.1', abortOnFail: true, delayAbortEval: '1m' },
    ],
  },
};

export default function () {
  const resp = http.get('https://test-api.k6.io/public/crocodiles/1/');

  errorRate.add(resp.status >= 400);

  sleep(1);
}