Provided by: libpcp3-dev_3.5.11_amd64 bug

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 */
                pmValueBlock *vbp;  /* pmValueBlock 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 then up to the first three 32-bit words are displayed as
       hexadecimal values.

       If the type is PM_TYPE_EVENT then a summary of the number of event records  found  in  the
       value is generated.

       The  return  value from pmAtomStr 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).