= nng_stat_unit(3)
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== NAME

nng_stat_unit - get statistic unit

== SYNOPSIS

[source, 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.3.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.
Typically, one message corresponds to a single xref:nng_msg.5.adoc[`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 xref:nng_stat_type.3.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_.

== ERRORS

None.

== SEE ALSO

[.text-left]
xref:libnng.3.adoc[libnng(3)],
xref:nng_stats_get.3.adoc[nng_stats_get(3)],
xref:nng_stat_name.3.adoc[nng_stat_name(3)],
xref:nng_stat_type.3.adoc[nng_stat_type(3)],
xref:nng_stat_value.3.adoc[nng_stat_value(3)],
xref:nng_msg.5.adoc[nng_msg(5)],
xref:nng_stat.5.adoc[nng_stat(5)],
xref:nng.7.adoc[nng(7)]
