Man Linux: Main Page and Category List

NAME

       pmAtomStr - convert a performance metric value into a string

C SYNOPSIS

       #include <pcp/pmapi.h>

       const char *pmAtomStr(const pmAtomValue *avp, int type)

       cc ... -lpcp

DESCRIPTION

       All  performance  metric  values may be encoded in a pmAtomValue union,
       defined as follows;

            typedef union {
                __int32_t    l;     /* 32-bit signed */
                __uint32_t   ul;    /* 32-bit unsigned */
                __int64_t    ll;    /* 64-bit signed */
                __uint64_t   ull;   /* 64-bit unsigned */
                float        f;     /* 32-bit floating point */
                double       d;     /* 64-bit floating point */
                char         *cp;   /* char ptr */
                void         *vp;   /* void ptr */
            } pmAtomValue;

       Given the performance metric value pointed to by avp, and a performance
       metric type defined by type, generate the corresponding metric value as
       a string, suitable for diagnostic or report output.

       The value for type is typically  extracted  from  a  pmDesc  structure,
       following  a  call  to  pmLookupDesc(3)  for  a  particular performance
       metric.

       If the type is PM_TYPE_STRING values longer than 38 characters will  be
       truncated  after  34  characters,  and  truncation  shown with ellipsis
       ‘‘...’’ at the end of the value.

       If the type is PM_TYPE_AGGREGATE only the first three 32-bit words  are
       displayed as hexadecimal values.

       The  string  value  is  held in a single static buffer, so the returned
       value is only valid until the next call to pmAtomStr.

SEE ALSO

       PMAPI(3),    pmConvScale(3),    pmExtractValue(3),     pmLookupDesc(3),
       pmPrintValue(3), pmTypeStr(3) and pmUnitsStr(3).