# NumberMetric

**Kind**: interface | **Module**: [Metrics](https://docs.interop.io/desktop/reference/javascript/metrics/index.md)

**Source**: https://docs.interop.io/desktop/reference/javascript/metrics/numbermetric/index.html

Number metric.

## Properties

- **`description`** (`string`, optional)
  Returns the description of the metric.
- **`id`** (`string`, required)
  Returns the ID of the metric.
- **`name`** (`string`, required)
  Returns the name of the metric.
- **`path`** (`string[]`, required)
  An array of parent system names, starting with the root system name.
- **`repo`** (`Repository`, required)
  Returns the repository of the metric.
- **`system`** (`System`, required)
  Returns the system of the metric.
- **`type`** (`number`, required)
  Returns the type of the metric.
- **`value`** (`number`, required)
  Returns the value of the metric.

## Methods

### decrement

Decrements the value of the metric by 1

```ts
() => void
```

**Returns**: `void`

### decrementBy

Decrements the value of the metric by the specified number.

```ts
(num: number) => void
```

**Parameters**

- **`num`** (`number`, required)
  Number by which to decrement the metric.

**Returns**: `void`

### increment

Increments the value of the metric by 1.

```ts
() => void
```

**Returns**: `void`

### incrementBy

Increments the value of the metric by the specified number.

```ts
(num: number) => void
```

**Parameters**

- **`num`** (`number`, required)
  Number by which to increment the metric.

**Returns**: `void`

### update

Updates the value of the metric.

```ts
(value: number) => Promise<void>
```

**Parameters**

- **`value`** (`number`, required)
  Value with which to update the metric.

**Returns**: `Promise<void>`

## Related types

- [Repository](https://docs.interop.io/desktop/reference/javascript/metrics/repository/index.md)
- [System](https://docs.interop.io/desktop/reference/javascript/metrics/system/index.md)
