This is documentation for the next version of K6. For the latest stable release, go to the latest version.
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.
Parameter | Type | Description |
---|---|---|
name | string | The name of the custom metric. |
Method | Description |
---|---|
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
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' });
}
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);
}