# Meter

`import { Meter } from "destack:telemetry";`

Metric meter.

```ds title="Meter"
export class Meter {
    constructor(sink?: readonly MetricSink | undefined);
    counter(name: string, unit?: string | undefined): Counter;
    upDownCounter(name: string, unit?: string | undefined): UpDownCounter;
    gauge(name: string, unit?: string | undefined): Gauge;
    histogram(name: string, unit?: string | undefined): Histogram;
    duration(name: string, value: Duration, fields?: Fields | undefined): void;
}
```

[language/library/src/telemetry/metric.ds:142:175](https://github.com/destack-sh/destack/blob/main/language/library/src/telemetry/metric.ds#L142-L175)

## Members

### `constructor(sink?: readonly MetricSink | undefined)`

Create a meter.

### `counter(name: string, unit?: string | undefined): Counter`

Create one counter.

### `upDownCounter(name: string, unit?: string | undefined): UpDownCounter`

Create one up-down counter.

### `gauge(name: string, unit?: string | undefined): Gauge`

Create one gauge.

### `histogram(name: string, unit?: string | undefined): Histogram`

Create one histogram.

### `duration(name: string, value: Duration, fields?: Fields | undefined): void`

Record a duration sample.
