# RecordingMetric

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

**Source**: https://docs.interop.io/desktop/reference/javascript/insights/recordingmetric/index.html

Base interface for non-observable metrics with independent values, such as Gauge and Histogram.

## Properties

- **`settings`** (`MetricSettings`, required)
  Settings used to create the metric.
- **`started`** (`boolean`, required)
  Whether the metric is started.

## Methods

### record

```ts
(value: number, data?: TData) => void
```

**Parameters**

- **`value`** (`number`, required)
- **`data`** (`TData`, optional)

**Returns**: `void`

### start

Starts the metric, allowing it to publish values.

```ts
() => Promise<void>
```

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

### stop

Stops the metric, meaning it can no long publish values.

```ts
() => Promise<void>
```

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

## Related types

- [MetricSettings](https://docs.interop.io/desktop/reference/javascript/insights/metricsettings/index.md)
