## nng_stat_unit

Get statistic unit.

### Synopsis

```c
#include <nng/nng.h>

typedef struct nng_stat nng_stat;

enum {
        NNG_UNIT_NONE,
        NNG_UNIT_BYTES,
        NNG_UNIT_MESSAGES,
        NNG_UNIT_MILLIS,
        NNG_UNIT_EVENTS
};

int nng_stat_unit(nng_stat *stat);
```

### Description

The `nng_stat_unit` function returns the unit of quantity measured by the statistic _stat_.

The returned value will be one of the following values:

((`NNG_UNIT_NONE`))::
There are no particular units measured.
In some cases there may be units, but the type of the unit will be obvious
from the name (see xref:nng_stat_name.adoc[`nng_stat_name`]) of the statistic.

((`NNG_UNIT_BYTES`))::
The statistic is a count of bytes.

((`NNG_UNIT_MESSAGES`))::
The statistic is a count of messages.

((`NNG_UNIT_MILLIS`))::
The statistic is a count of milliseconds.

((`NNG_STAT_EVENTS`))::
The statistic is a count of some other type of event.

For statistics that are neither `NNG_STAT_COUNTER` nor `NNG_STAT_LEVEL` type (see xref:nng_stat_type.adoc[`nng_stat_type`]), the unit will generally be `NNG_UNIT_NONE`.

TIP: Normally rates can be calculated for `NNG_STAT_COUNTER` values for any of these units, but for `NNG_UNIT_MILLIS` rate calculations are generally meaningless.

### Return Values

The units measured by _stat_.

### See Also

xref:nng_stats_get.adoc[nng_stats_get],
xref:nng_stat_name.adoc[nng_stat_name],
xref:nng_stat_type.adoc[nng_stat_type],
xref:nng_stat_value.adoc[nng_stat_value]
