NAME
pmUnitsStr - convert a performance metric’s units into a string
C SYNOPSIS
#include <pcp/pmapi.h>
const char *pmUnitsStr(const pmUnits *pu)
cc ... -lpcp
DESCRIPTION
The encoding of a performance metric’s dimensionality and scale uses a
pmUnits structure; see pmLookupDesc(3).
As an aid to labeling graphs and tables, or for error messages,
pmUnitsStr will take a dimension and scale specification as per pu, and
return the corresponding text string.
For example {1, -2, 0, PM_SPACE_MBYTE, PM_TIME_SEC, 0}, as the value of
*pu gives the result string Mbyte / sec^2.
The string value is held in a single static buffer, so the returned
value is only valid until the next call to pmUnitsStr.
If the ‘‘count’’ dimension is non-zero, and the ‘‘count’’ scale is not
zero, then the text string will include a decimal scaling factor, eg.
count x 10^6.
As a special case, if all components of the dimension are zero, then
the ‘‘count’’ scale is used to produce the text. If this scale is zero
the result is an empty string, otherwise the result is of the form x1
0^2.
SEE ALSO
PMAPI(3), pmAtomStr(3), pmConvScale(3), pmExtractValue(3),
pmLookupDesc(3), pmPrintValue(3) and pmTypeStr(3).