summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-04-08 07:40:06 -0700
committerGarrett D'Amore <garrett@damore.org>2024-04-08 07:40:06 -0700
commitc7f7bcb6e2cfbf66c7fab158b0ac02890243b5bb (patch)
tree5ed428c6d3ba3777dcc8ca073f99fa132e57dc4d
parent2806ad76d9c5673b9305cfab00e738941fb7938c (diff)
downloadnng-c7f7bcb6e2cfbf66c7fab158b0ac02890243b5bb.tar.gz
nng-c7f7bcb6e2cfbf66c7fab158b0ac02890243b5bb.tar.bz2
nng-c7f7bcb6e2cfbf66c7fab158b0ac02890243b5bb.zip
Converted stats pages
-rw-r--r--docs/man/nng_stat_bool.3.adoc50
-rw-r--r--docs/man/nng_stat_child.3.adoc51
-rw-r--r--docs/man/nng_stat_desc.3.adoc52
-rw-r--r--docs/man/nng_stat_find.3.adoc51
-rw-r--r--docs/man/nng_stat_find_dialer.3.adoc55
-rw-r--r--docs/man/nng_stat_find_listener.3.adoc55
-rw-r--r--docs/man/nng_stat_find_socket.3.adoc55
-rw-r--r--docs/man/nng_stat_name.3.adoc46
-rw-r--r--docs/man/nng_stat_next.3.adoc48
-rw-r--r--docs/man/nng_stat_string.3.adoc54
-rw-r--r--docs/man/nng_stat_timestamp.3.adoc60
-rw-r--r--docs/man/nng_stat_type.3.adoc95
-rw-r--r--docs/man/nng_stat_unit.3.adoc86
-rw-r--r--docs/man/nng_stat_value.3.adoc50
-rw-r--r--docs/ref/stat/nng_stat_bool.adoc30
-rw-r--r--docs/ref/stat/nng_stat_child.adoc29
-rw-r--r--docs/ref/stat/nng_stat_desc.adoc30
-rw-r--r--docs/ref/stat/nng_stat_find.adoc33
-rw-r--r--docs/ref/stat/nng_stat_find_dialer.adoc35
-rw-r--r--docs/ref/stat/nng_stat_find_listener.adoc38
-rw-r--r--docs/ref/stat/nng_stat_find_socket.adoc35
-rw-r--r--docs/ref/stat/nng_stat_name.adoc27
-rw-r--r--docs/ref/stat/nng_stat_next.adoc28
-rw-r--r--docs/ref/stat/nng_stat_string.adoc31
-rw-r--r--docs/ref/stat/nng_stat_timestamp.adoc34
-rw-r--r--docs/ref/stat/nng_stat_type.adoc66
-rw-r--r--docs/ref/stat/nng_stat_unit.adoc59
-rw-r--r--docs/ref/stat/nng_stat_value.adoc30
28 files changed, 505 insertions, 808 deletions
diff --git a/docs/man/nng_stat_bool.3.adoc b/docs/man/nng_stat_bool.3.adoc
deleted file mode 100644
index 678b45aa..00000000
--- a/docs/man/nng_stat_bool.3.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-= nng_stat_bool(3)
-//
-// Copyright 2020 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_bool - get statistic Boolean value
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-bool nng_stat_bool(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_bool()` function returns the Boolean value for the statistic _stat_.
-Otherwise, if the statistic is not of Boolean type, the result is indeterminate.
-See xref:nng_stat_type.3.adoc[`nng_stat_type()`] for a description of statistic types.
-
-== RETURN VALUES
-
-The boolean value associated with _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_type.3.adoc[nng_stat_type(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)]
diff --git a/docs/man/nng_stat_child.3.adoc b/docs/man/nng_stat_child.3.adoc
deleted file mode 100644
index 123ca82d..00000000
--- a/docs/man/nng_stat_child.3.adoc
+++ /dev/null
@@ -1,51 +0,0 @@
-= nng_stat_child(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_child - get child statistic
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-nng_stat *nng_stat_child(nng_stat *parent);
-----
-
-== DESCRIPTION
-
-The `nng_stat_child()` function returns the first child statistic of the
-statistic _parent_.
-If no children are present, then `NULL` is returned.
-
-TIP: Only statistics with type (see xref:nng_stat_type.3.adoc[`nng_stat_type()`])
-of `NNG_STAT_SCOPE` will have children.
-
-== RETURN VALUES
-
-The first child statistic of _parent_, or NULL if _parent_ has no children.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_next.3.adoc[nng_stat_next(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_desc.3.adoc b/docs/man/nng_stat_desc.3.adoc
deleted file mode 100644
index e87849d3..00000000
--- a/docs/man/nng_stat_desc.3.adoc
+++ /dev/null
@@ -1,52 +0,0 @@
-= nng_stat_desc(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_desc - get statistic description
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-const char *nng_stat_desc(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_desc()` function returns a brief, human-readable description
-for the statistic _stat_.
-
-TIP: This description can be used for a tool-tip in user interfaces
-displaying these statistic values.
-
-NOTE: At this time, only English descriptions are provided.
-
-== RETURN VALUES
-
-The description of statistic _stat_.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_name.3.adoc[nng_stats_name(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_find.3.adoc b/docs/man/nng_stat_find.3.adoc
deleted file mode 100644
index cdcf461f..00000000
--- a/docs/man/nng_stat_find.3.adoc
+++ /dev/null
@@ -1,51 +0,0 @@
-= nng_stat_find(3)
-
-// Copyright 2019 Staysail Systems, Inc. <info@staysail.tech>
-//
-// 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_find - find statistic by name
-
-== SYNOPSIS
-
-[source,c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-nng_stat *nng_stat_find(nng_stat *stat, const char *name);
-----
-
-== DESCRIPTION
-
-The `nng_stat_find()` function searches the statistics tree _stat_, looking for a statistic whose name is _name_.
-If it finds one, it returns it.
-Otherwise `NULL` is returned.
-
-NOTE: If multiple statistics have that name, then only the first match is returned.
-
-== RETURN VALUES
-
-The matching statistic, or NULL if no match is found.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_child.3.adoc[nng_stat_child(3)],
-xref:nng_stat_find_dialer.3.adoc[nng_stat_find_dialer(3)],
-xref:nng_stat_find_listener.3.adoc[nng_stat_find_listner(3)],
-xref:nng_stat_find_socket.3.adoc[nng_stat_find_socket(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_find_dialer.3.adoc b/docs/man/nng_stat_find_dialer.3.adoc
deleted file mode 100644
index 202fd289..00000000
--- a/docs/man/nng_stat_find_dialer.3.adoc
+++ /dev/null
@@ -1,55 +0,0 @@
-= nng_stat_find_dialer(3)
-
-// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
-//
-// 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_find_dialer - find dialer statistics
-
-== SYNOPSIS
-
-[source,c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-typedef struct nng_dialer nng_dialer;
-
-nng_stat *nng_stat_find_dialer(nng_stat *stat, nng_dialer dialer);
-----
-
-== DESCRIPTION
-
-The `nng_stat_find_dialer()` function returns the statistics tree within _stat_ associated with the dialer _dialer_, if such a tree exists.
-Otherwise `NULL` is returned.
-
-Generally, there will be child statistics of the returned value, each corresponding to a specific metric.
-These can be further scanned using either
-xref:nng_stat_find.3.adoc[nng_stat_find(3)]
-or by walking the tree with
-xref:nng_stat_child.3.adoc[nng_stat_child(3)].
-
-== RETURN VALUES
-
-The matching statistic, or NULL if no match is found.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_child.3.adoc[nng_stat_child(3)],
-xref:nng_stat_find.3.adoc[nng_stat_find(3)],
-xref:nng_stat_find_listener.3.adoc[nng_stat_find_listener(3)],
-xref:nng_stat_find_socket.3.adoc[nng_stat_find_socket(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_find_listener.3.adoc b/docs/man/nng_stat_find_listener.3.adoc
deleted file mode 100644
index 46c2dc74..00000000
--- a/docs/man/nng_stat_find_listener.3.adoc
+++ /dev/null
@@ -1,55 +0,0 @@
-= nng_stat_find_listener(3)
-
-// Copyright 2019 Staysail Systems, Inc. <info@staysail.tech>
-//
-// 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_find_listener - find listener statistics
-
-== SYNOPSIS
-
-[source,c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-typedef struct nng_listener nng_listener;
-
-nng_stat *nng_stat_find_listener(nng_stat *stat, nng_listener listener);
-----
-
-== DESCRIPTION
-
-The `nng_stat_find_listener()` function returns the statistics tree within _stat_ associated with the listener _listener_, if such a tree exists.
-Otherwise `NULL` is returned.
-
-Generally, there will be child statistics of the returned value, each corresponding to a specific metric.
-These can be further scanned using either
-xref:nng_stat_find.3.adoc[nng_stat_find(3)]
-or by walking the tree with
-xref:nng_stat_child.3.adoc[nng_stat_child(3)].
-
-== RETURN VALUES
-
-The matching statistic, or NULL if no match is found.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_child.3.adoc[nng_stat_child(3)],
-xref:nng_stat_find.3.adoc[nng_stat_find(3)],
-xref:nng_stat_find_dialer.3.adoc[nng_stat_find_dialer(3)],
-xref:nng_stat_find_socket.3.adoc[nng_stat_find_socket(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_find_socket.3.adoc b/docs/man/nng_stat_find_socket.3.adoc
deleted file mode 100644
index deea509c..00000000
--- a/docs/man/nng_stat_find_socket.3.adoc
+++ /dev/null
@@ -1,55 +0,0 @@
-= nng_stat_find_socket(3)
-
-// Copyright 2019 Staysail Systems, Inc. <info@staysail.tech>
-//
-// 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_find_socket - find socket statistics
-
-== SYNOPSIS
-
-[source,c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-typedef struct nng_socket nng_socket;
-
-nng_stat *nng_stat_find_socket(nng_stat *stat, nng_socket socket);
-----
-
-== DESCRIPTION
-
-The `nng_stat_find_socket()` function returns the statistics tree within _stat_ associated with the socket _socket_, if such a tree exists.
-Otherwise `NULL` is returned.
-
-Generally, there will be child statistics of the returned value, each corresponding to a specific metric.
-These can be further scanned using either
-xref:nng_stat_find.3.adoc[nng_stat_find(3)]
-or by walking the tree with
-xref:nng_stat_child.3.adoc[nng_stat_child(3)].
-
-== RETURN VALUES
-
-The matching statistic, or NULL if no match is found.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_child.3.adoc[nng_stat_child(3)],
-xref:nng_stat_find.3.adoc[nng_stat_find(3)],
-xref:nng_stat_find_dialer.3.adoc[nng_stat_find_dialer(3)],
-xref:nng_stat_find_listener.3.adoc[nng_stat_find_listener(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_name.3.adoc b/docs/man/nng_stat_name.3.adoc
deleted file mode 100644
index bf2fd3c7..00000000
--- a/docs/man/nng_stat_name.3.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-= nng_stat_name(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_name - get statistic name
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-const char *nng_stat_name(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_name()` function returns the name for the statistic _stat_.
-
-NOTE: The global root statistic will have the empty string ("") as it's name.
-
-== RETURN VALUES
-
-The name of statistic _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.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_next.3.adoc b/docs/man/nng_stat_next.3.adoc
deleted file mode 100644
index 00caa5c8..00000000
--- a/docs/man/nng_stat_next.3.adoc
+++ /dev/null
@@ -1,48 +0,0 @@
-= nng_stat_next(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_next - get next statistic
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-nng_stat *nng_stat_next(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_next()` function returns the next sibling statistic of the
-statistic _stat_.
-If no more siblings are present, then `NULL` is returned.
-
-== RETURN VALUES
-
-The next sibling statistic of _stat_, or NULL if _stat_ is the last sibling.
-
-== ERRORS
-
-None.
-
-== SEE ALSO
-
-[.text-left]
-xref:libnng.3.adoc[libnng(3)],
-xref:nng_stat_child.3.adoc[nng_stat_child(3)],
-xref:nng_stats_get.3.adoc[nng_stats_get(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_string.3.adoc b/docs/man/nng_stat_string.3.adoc
deleted file mode 100644
index 4c65fb1a..00000000
--- a/docs/man/nng_stat_string.3.adoc
+++ /dev/null
@@ -1,54 +0,0 @@
-= nng_stat_string(3)
-//
-// Copyright 2020 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_string - get statistic string value
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-const char *nng_stat_string(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_string()` function returns a string value for the statistic _stat_,
-which must be of type `NNG_STAT_STRING` (see xref:nng_stat_type.3.adoc[`nng_stat_type(3)`]).
-
-If the statistic is not of type `NNG_STAT_STRING`, then `NULL` will be returned.
-
-NOTE: The returned string is valid until xref:nng_stats_free.3.adoc[`nng_stats_free()`] is called to
-free the memory for the snapshot.
-
-== RETURN VALUES
-
-The string value associated with _stat_, or `NULL` if the statistic is not
-a string type.
-
-== 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_type.3.adoc[nng_stats_type(3)],
-xref:nng_stat_value.3.adoc[nng_stats_value(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_timestamp.3.adoc b/docs/man/nng_stat_timestamp.3.adoc
deleted file mode 100644
index 74d827e8..00000000
--- a/docs/man/nng_stat_timestamp.3.adoc
+++ /dev/null
@@ -1,60 +0,0 @@
-= nng_stat_timestamp(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_timestamp - get statistic timestamp
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-uint64_t nng_stat_timestamp(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_timestamp()` function returns the a timestamp, which is measured
-as a number of milliseconds since some arbitrary value in the past.
-
-Even within the same snapshot, statistics might have different timestamp
-values, as the timestamp represents the time when that particular statistic
-was captured.
-
-TIP: These values are intended to facilitate calculation of rates, by
-comparing values from one snapshot with a subsequent one.
-
-TIP: The values used here have the same offset as the
-xref:nng_clock.3supp.adoc[`nng_clock()`] supplemental function.
-This can be useful when converting these values to local clock time.
-
-== RETURN VALUES
-
-The timestamp when _stat_ was captured, measured as a number of
-milliseconds since some time in the past.
-
-== 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_value.3.adoc[nng_stat_value(3)],
-xref:nng_clock.3supp.adoc[nng_clock(3supp)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/man/nng_stat_type.3.adoc b/docs/man/nng_stat_type.3.adoc
deleted file mode 100644
index a2578e5e..00000000
--- a/docs/man/nng_stat_type.3.adoc
+++ /dev/null
@@ -1,95 +0,0 @@
-= 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)]
diff --git a/docs/man/nng_stat_unit.3.adoc b/docs/man/nng_stat_unit.3.adoc
deleted file mode 100644
index f7136e1f..00000000
--- a/docs/man/nng_stat_unit.3.adoc
+++ /dev/null
@@ -1,86 +0,0 @@
-= 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)]
diff --git a/docs/man/nng_stat_value.3.adoc b/docs/man/nng_stat_value.3.adoc
deleted file mode 100644
index d5d28473..00000000
--- a/docs/man/nng_stat_value.3.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-= nng_stat_value(3)
-//
-// Copyright 2020 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_value - get statistic numeric value
-
-== SYNOPSIS
-
-[source, c]
-----
-#include <nng/nng.h>
-
-typedef struct nng_stat nng_stat;
-
-uint64_t nng_stat_value(nng_stat *stat);
-----
-
-== DESCRIPTION
-
-The `nng_stat_value()` function returns a numeric value for the statistic _stat_.
-If the statistic is not of numeric type, then zero is returned.
-See xref:nng_stat_type.3.adoc[`nng_stat_type()`] for a description of statistic types.
-
-== RETURN VALUES
-
-The numeric value associated with _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_bool.3.adoc[nng_stat_bool(3)],
-xref:nng_stat_type.3.adoc[nng_stat_type(3)],
-xref:nng_stat_unit.3.adoc[nng_stat_unit(3)],
-xref:nng_stat.5.adoc[nng_stat(5)],
-xref:nng.7.adoc[nng(7)]
diff --git a/docs/ref/stat/nng_stat_bool.adoc b/docs/ref/stat/nng_stat_bool.adoc
new file mode 100644
index 00000000..9517464f
--- /dev/null
+++ b/docs/ref/stat/nng_stat_bool.adoc
@@ -0,0 +1,30 @@
+## nng_stat_bool
+
+Get statistic Boolean value.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+bool nng_stat_bool(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_bool` function returns the Boolean value for the statistic _stat_.
+Otherwise, if the statistic is not of Boolean type, the result is indeterminate.
+See xref:nng_stat_type.adoc[`nng_stat_type`] for a description of statistic types.
+
+### Return Values
+
+The boolean value associated with _stat_.
+
+### See Also
+
+xref:nng_stats_get.adoc[nng_stats_get],
+xref:nng_stat_type.adoc[nng_stat_type],
+xref:nng_stat_unit.adoc[nng_stat_unit],
+xref:nng_stat_value.adoc[nng_stat_value]
diff --git a/docs/ref/stat/nng_stat_child.adoc b/docs/ref/stat/nng_stat_child.adoc
new file mode 100644
index 00000000..09bf98e1
--- /dev/null
+++ b/docs/ref/stat/nng_stat_child.adoc
@@ -0,0 +1,29 @@
+## nng_stat_child
+
+Get child statistic.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+nng_stat *nng_stat_child(nng_stat *parent);
+```
+
+### Description
+
+The `nng_stat_child` function returns the first child statistic of the statistic _parent_.
+If no children are present, then `NULL` is returned.
+
+TIP: Only statistics with type (see xref:nng_stat_type.adoc[`nng_stat_type`]) of `NNG_STAT_SCOPE` will have children.
+
+### Return Values
+
+The first child statistic of _parent_, or NULL if _parent_ has no children.
+
+### See Also
+
+xref:nng_stat_next.adoc[nng_stat_next],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_desc.adoc b/docs/ref/stat/nng_stat_desc.adoc
new file mode 100644
index 00000000..b1079412
--- /dev/null
+++ b/docs/ref/stat/nng_stat_desc.adoc
@@ -0,0 +1,30 @@
+## nng_stat_desc
+
+Get statistic description.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+const char *nng_stat_desc(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_desc` function returns a brief, human-readable description for the statistic _stat_.
+
+TIP: This description can be used for a tool-tip in user interfaces displaying these statistic values.
+
+NOTE: At this time, only English descriptions are provided.
+
+### Return Values
+
+The description of statistic _stat_.
+
+### See Also
+
+xref:nng_stat_name.adoc[nng_stats_name],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_find.adoc b/docs/ref/stat/nng_stat_find.adoc
new file mode 100644
index 00000000..2286475f
--- /dev/null
+++ b/docs/ref/stat/nng_stat_find.adoc
@@ -0,0 +1,33 @@
+## nng_stat_find
+
+Find statistic by name.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+nng_stat *nng_stat_find(nng_stat *stat, const char *name);
+```
+
+### Description
+
+The `nng_stat_find` function searches the statistics tree _stat_, looking for a statistic whose name is _name_.
+If it finds one, it returns it.
+Otherwise `NULL` is returned.
+
+NOTE: If multiple statistics have that name, then only the first match is returned.
+
+### Return Values
+
+The matching statistic, or NULL if no match is found.
+
+### See Also
+
+xref:nng_stat_child.adoc[nng_stat_child],
+xref:nng_stat_find_dialer.adoc[nng_stat_find_dialer],
+xref:nng_stat_find_listener.adoc[nng_stat_find_listner],
+xref:nng_stat_find_socket.adoc[nng_stat_find_socket],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_find_dialer.adoc b/docs/ref/stat/nng_stat_find_dialer.adoc
new file mode 100644
index 00000000..68195364
--- /dev/null
+++ b/docs/ref/stat/nng_stat_find_dialer.adoc
@@ -0,0 +1,35 @@
+## nng_stat_find_dialer
+
+Find dialer statistics.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+typedef struct nng_dialer nng_dialer;
+
+nng_stat *nng_stat_find_dialer(nng_stat *stat, nng_dialer dialer);
+```
+
+### Description
+
+The `nng_stat_find_dialer` function returns the statistics tree within _stat_ associated with the dialer _dialer_, if such a tree exists.
+Otherwise `NULL` is returned.
+
+Generally, there will be child statistics of the returned value, each corresponding to a specific metric.
+These can be further scanned using either xref:nng_stat_find.adoc[nng_stat_find]
+or by walking the tree with xref:nng_stat_child.adoc[nng_stat_child].
+
+### Return Values
+
+The matching statistic, or NULL if no match is found.
+
+### See Also
+
+xref:nng_stat_child.adoc[nng_stat_child],
+xref:nng_stat_find.adoc[nng_stat_find],
+xref:nng_stat_find_listener.adoc[nng_stat_find_listener],
+xref:nng_stat_find_socket.adoc[nng_stat_find_socket],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_find_listener.adoc b/docs/ref/stat/nng_stat_find_listener.adoc
new file mode 100644
index 00000000..81e5b037
--- /dev/null
+++ b/docs/ref/stat/nng_stat_find_listener.adoc
@@ -0,0 +1,38 @@
+## nng_stat_find_listener
+
+Find listener statistics.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+typedef struct nng_listener nng_listener;
+
+nng_stat *nng_stat_find_listener(nng_stat *stat, nng_listener listener);
+```
+
+### Description
+
+The `nng_stat_find_listener` function returns the statistics tree within _stat_ associated with the listener _listener_, if such a tree exists.
+Otherwise `NULL` is returned.
+
+Generally, there will be child statistics of the returned value, each corresponding to a specific metric.
+These can be further scanned using either xref:nng_stat_find.adoc[nng_stat_find] or by walking the tree with xref:nng_stat_child.adoc[nng_stat_child].
+
+### Return Values
+
+The matching statistic, or NULL if no match is found.
+
+### Errors
+
+None.
+
+### See Also
+
+xref:nng_stat_child.adoc[nng_stat_child],
+xref:nng_stat_find.adoc[nng_stat_find],
+xref:nng_stat_find_dialer.adoc[nng_stat_find_dialer],
+xref:nng_stat_find_socket.adoc[nng_stat_find_socket],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_find_socket.adoc b/docs/ref/stat/nng_stat_find_socket.adoc
new file mode 100644
index 00000000..5cd61e36
--- /dev/null
+++ b/docs/ref/stat/nng_stat_find_socket.adoc
@@ -0,0 +1,35 @@
+## nng_stat_find_socket
+
+Find socket statistics.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+typedef struct nng_socket nng_socket;
+
+nng_stat *nng_stat_find_socket(nng_stat *stat, nng_socket socket);
+```
+
+### Description
+
+The `nng_stat_find_socket` function returns the statistics tree within _stat_ associated with the socket _socket_, if such a tree exists.
+Otherwise `NULL` is returned.
+
+Generally, there will be child statistics of the returned value, each corresponding to a specific metric.
+These can be further scanned using either xref:nng_stat_find.adoc[nng_stat_find] or by walking the tree with
+xref:nng_stat_child.adoc[nng_stat_child].
+
+### Return Values
+
+The matching statistic, or NULL if no match is found.
+
+### See Also
+
+xref:nng_stat_child.adoc[nng_stat_child],
+xref:nng_stat_find.adoc[nng_stat_find],
+xref:nng_stat_find_dialer.adoc[nng_stat_find_dialer],
+xref:nng_stat_find_listener.adoc[nng_stat_find_listener],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_name.adoc b/docs/ref/stat/nng_stat_name.adoc
new file mode 100644
index 00000000..ab9e2ace
--- /dev/null
+++ b/docs/ref/stat/nng_stat_name.adoc
@@ -0,0 +1,27 @@
+## nng_stat_name
+
+Get statistic name.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+const char *nng_stat_name(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_name` function returns the name for the statistic _stat_.
+
+NOTE: The global root statistic will have the empty string ("") as it's name.
+
+### Return Values
+
+The name of statistic _stat_.
+
+### See Also
+
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_next.adoc b/docs/ref/stat/nng_stat_next.adoc
new file mode 100644
index 00000000..09cc24f5
--- /dev/null
+++ b/docs/ref/stat/nng_stat_next.adoc
@@ -0,0 +1,28 @@
+## nng_stat_next
+
+Get next statistic.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+nng_stat *nng_stat_next(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_next` function returns the next sibling statistic of the
+statistic _stat_.
+If no more siblings are present, then `NULL` is returned.
+
+### Return Values
+
+The next sibling statistic of _stat_, or NULL if _stat_ is the last sibling.
+
+### See Also
+
+xref:nng_stat_child.adoc[nng_stat_child],
+xref:nng_stats_get.adoc[nng_stats_get]
diff --git a/docs/ref/stat/nng_stat_string.adoc b/docs/ref/stat/nng_stat_string.adoc
new file mode 100644
index 00000000..1933ced8
--- /dev/null
+++ b/docs/ref/stat/nng_stat_string.adoc
@@ -0,0 +1,31 @@
+## nng_stat_string
+
+Get statistic string value.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+const char *nng_stat_string(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_string` function returns a string value for the statistic _stat_, which must be of type `NNG_STAT_STRING` (see xref:nng_stat_type.adoc[`nng_stat_type`]).
+
+If the statistic is not of type `NNG_STAT_STRING`, then `NULL` will be returned.
+
+NOTE: The returned string is valid until xref:nng_stats_free.adoc[`nng_stats_free`] is called to free the memory for the snapshot.
+
+### Return Values
+
+The string value associated with _stat_, or `NULL` if the statistic is not a string type.
+
+### See Also
+
+xref:nng_stats_get.adoc[nng_stats_get],
+xref:nng_stat_type.adoc[nng_stats_type],
+xref:nng_stat_value.adoc[nng_stats_value]
diff --git a/docs/ref/stat/nng_stat_timestamp.adoc b/docs/ref/stat/nng_stat_timestamp.adoc
new file mode 100644
index 00000000..9b19709d
--- /dev/null
+++ b/docs/ref/stat/nng_stat_timestamp.adoc
@@ -0,0 +1,34 @@
+## nng_stat_timestamp
+
+Get statistic timestamp.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+uint64_t nng_stat_timestamp(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_timestamp` function returns the a timestamp, which is measured as a number of milliseconds since some arbitrary value in the past.
+
+Even within the same snapshot, statistics might have different timestamp values, as the timestamp represents the time when that particular statistic was captured.
+
+TIP: These values are intended to facilitate calculation of rates, by comparing values from one snapshot with a subsequent one.
+
+TIP: The values used here have the same offset as the xref:../util/nng_clock.adoc[`nng_clock`] supplemental function.
+This can be useful when converting these values to local clock time.
+
+### Return Values
+
+The timestamp when _stat_ was captured, measured as a number of milliseconds since some time in the past.
+
+### See Also
+
+xref:nng_stats_get.adoc[nng_stats_get],
+xref:nng_stat_value.adoc[nng_stat_value],
+xref:../util/nng_clock.adoc[nng_clock]
diff --git a/docs/ref/stat/nng_stat_type.adoc b/docs/ref/stat/nng_stat_type.adoc
new file mode 100644
index 00000000..8d94f5f4
--- /dev/null
+++ b/docs/ref/stat/nng_stat_type.adoc
@@ -0,0 +1,66 @@
+## nng_stat_type
+
+Get statistic type.
+
+### Synopsis
+
+```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 (seexref:nng_stat_child.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.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.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.adoc[`nng_stat_unit`] function will provide more detail about the units measured by the static.
+
+### Return Values
+
+The statistic type for _stat_.
+
+### See Also
+
+xref:nng_stats_get.adoc[nng_stats_get],
+xref:nng_stat_string.adoc[nng_stat_string],
+xref:nng_stat_unit.adoc[nng_stat_unit],
+xref:nng_stat_value.adoc[nng_stat_value]
diff --git a/docs/ref/stat/nng_stat_unit.adoc b/docs/ref/stat/nng_stat_unit.adoc
new file mode 100644
index 00000000..61c1573a
--- /dev/null
+++ b/docs/ref/stat/nng_stat_unit.adoc
@@ -0,0 +1,59 @@
+## 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]
diff --git a/docs/ref/stat/nng_stat_value.adoc b/docs/ref/stat/nng_stat_value.adoc
new file mode 100644
index 00000000..5e4da8f9
--- /dev/null
+++ b/docs/ref/stat/nng_stat_value.adoc
@@ -0,0 +1,30 @@
+## nng_stat_value
+
+Get statistic numeric value.
+
+### Synopsis
+
+```c
+#include <nng/nng.h>
+
+typedef struct nng_stat nng_stat;
+
+uint64_t nng_stat_value(nng_stat *stat);
+```
+
+### Description
+
+The `nng_stat_value` function returns a numeric value for the statistic _stat_.
+If the statistic is not of numeric type, then zero is returned.
+See xref:nng_stat_type.adoc[`nng_stat_type`] for a description of statistic types.
+
+### Return Values
+
+The numeric value associated with _stat_.
+
+### See Also
+
+xref:nng_stats_get.adoc[nng_stats_get],
+xref:nng_stat_bool.adoc[nng_stat_bool],
+xref:nng_stat_type.adoc[nng_stat_type],
+xref:nng_stat_unit.adoc[nng_stat_unit]