# nng_stat_unit(3) Manual Page

## NAME

nng_stat_unit - get statistic unit

## SYNOPSIS

    #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 `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. Typically, one message corresponds to a single `nng_msg` structure.

`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 `nng_stat_type()`), the unit will generally be `NNG_UNIT_NONE`.

| 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.

## ERRORS

None.

## SEE ALSO

libnng(3), nng_stats_get(3), nng_stat_name(3), nng_stat_type(3), nng_stat_value(3), nng_msg(5), nng_stat(5), nng(7)