PMUNITSSTR(3) Library Functions ManualPMUNITSSTR(3)pmUnitsStr,pmUnitsStr_r - convert a performance metric's unitsinto a string
#include <pcp/pmapi.h>const char *pmUnitsStr(const pmUnits *pu);char *pmUnitsStr_r(const pmUnits *pu, char *buf, intbuflen);cc ... -lpcp
The encoding of a performance metric's dimensionality and scale uses apmUnits structure; seepmLookupDesc(3). As an aid to labeling graphs and tables, or for error messages,pmUnitsStrwill take a dimension and scale specification as perpu, and return the corresponding text string. ThepmUnitsStr_r function does the same, but stores the result in a user-supplied bufferbuf of lengthbuflen, which should have room for at least 60 bytes. Ifbuflen is less than 60 thenpmUnitsStr_rreturnsNULLandbuf is not changed. For example{1, -2, 0, PM_SPACE_MBYTE,PM_TIME_SEC,0}, as the value of*pu gives the result stringMbyte / sec^2. The string value result frompmUnitsStris held in a single static buffer, so the returned value is only valid until the next call topmUnitsStr. If the ``count'' dimension is non-zero, and the ``count'' scale is not zero, then the text string will include a decimal scaling fac‐ tor, e.g.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 formx1 0^2.pmUnitsStrreturns a pointer to a static buffer and hence is not thread-safe. Multi-threaded applications should usepmUnitsStr_r instead.
PMAPI(3),pmAtomStr(3),pmConvScale(3),pmExtractValue(3),pmLookupDesc(3),pmPrintValue(3),pmIDStr(3),pmInDomStr(3),pmTypeStr(3),pmSemStr(3) andpmUnitsStr(3).
This page is part of thePCP (Performance Co-Pilot) project. In‐ formation about the project can be found at ⟨http://www.pcp.io/⟩. If you have a bug report for this manual page, send it to pcp@groups.io. This page was obtained from the project's upstream Git repository ⟨https://github.com/performancecopilot/pcp.git⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-11.) If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgPerformance Co-Pilot PCPPMUNITSSTR(3)Pages that refer to this page:pmlogsummary(1), pmatomstr(3), pmconvscale(3), pmextractvalue(3), pmidstr(3), pmindomstr(3), pmlookupdesc(3), pmparseunitsstr(3), pmprintvalue(3), pmsemstr(3), pmtypestr(3), pmunitsstr(3), pmwebapi(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |