---
title: "Rate | Grafana k6 documentation"
description: "Rate is an object for representing a custom metric keeping track of the percentage of added values that are non-zero."
---

# Rate

*Rate* is an object for representing a custom metric keeping track of the percentage of added values that are non-zero. It’s one of the four [metric types](/docs/k6/next/javascript-api/k6-metrics/).

Expand table

| Parameter | Type   | Description                    |
|-----------|--------|--------------------------------|
| `name`    | string | The name of the custom metric. |

Expand table

| Method                                                                              | Description                     |
|-------------------------------------------------------------------------------------|---------------------------------|
| [Rate.add(value, \[tags\])](/docs/k6/next/javascript-api/k6-metrics/rate/rate-add/) | 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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```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://quickpizza.grafana.com');

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

  sleep(1);
}
```
