zhangmeng
2024-04-22 16935f4aebffdd1b6580b844391a0aa0f4f3012b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
= nng_stat_type(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_type - get statistic type
 
== SYNOPSIS
 
[source, c]
----
#include <nng/nng.h>
 
typedef struct nng_stat nng_stat;
 
enum {
        NNG_STAT_SCOPE,
        NNG_STAT_LEVEL,
        NNG_STAT_COUNTER,
        NNG_STAT_STRING,
        NNG_STAT_BOOLEAN,
        NNG_STAT_ID
};
 
int nng_stat_type(nng_stat *stat);
----
 
== DESCRIPTION
 
The `nng_stat_type()` function returns the type of the statistic _stat_.
 
The returned type will be one of the following values:
 
((`NNG_STAT_SCOPE`))::
This is a placeholder providing scope, and carries no value on its own.
Instead it is a parent node with child statistics (see
xref:nng_stat_child.3.adoc[`nng_stat_child()`].)
 
((`NNG_STAT_LEVEL`))::
This is a numeric statistic, but its value is a level, so rate calculations
based on changes in this value should not be considered significant.
 
((`NNG_STAT_COUNTER`))::
This is a numeric statistic that represents an increasing count, typically
of events, messages, or bytes.
Frequently, it is interesting to consider changes in this statistic divided
by time to obtain a rate.
(For example, throughput might be calculated as changes in a byte counter
divided by the interval over which the change occurred.)
 
((`NNG_STAT_STRING`))::
This is a string, and carries no numeric value.
Instead the xref:nng_stat_string.3.adoc[`nng_stat_string()`] function
should be used to obtain the value.
 
((`NNG_STAT_BOOLEAN`))::
This is a boolean value.
The xref:nng_stat_value.3.adoc[`nng_stat_value()`] function will return zero
to represent a `false` value, and one to represent a `true` value.
 
((`NNG_STAT_ID`)):
The statistic is a numeric ID.
These are generally immutable values that represent an identity that might
be used with another interface.
 
TIP: For `NNG_STAT_COUNTER` and `NNG_STAT_LEVEL` statistics, the
xref:nng_stat_unit.3.adoc[`nng_stat_unit()`] function will provide more
detail about the units measured by the static.
 
== RETURN VALUES
 
The statistic type for _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_string.3.adoc[nng_stat_string(3)],
xref:nng_stat_unit.3.adoc[nng_stat_unit(3)],
xref:nng_stat_value.3.adoc[nng_stat_value(3)],
xref:nng_stat.5.adoc[nng_stat(5)],
xref:nng.7.adoc[nng(7)]