pmprintf(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | DIAGNOSTICS | FILES | ENVIRONMENT | SEE ALSO | COLOPHON

PMPRINTF(3)              Library Functions Manual             PMPRINTF(3)

NAME         top

       pmprintf, pmflush - print formatted output in a window or to
       standard error

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       int pmprintf(const char *fmt, ... /*args*/);
       int pmflush(void);

       cc ... -lpcp

DESCRIPTION         top

       The  combination of pmprintf and pmflush produces output in either
       an xconfirm(1) window, on the standard error stream, or to a  file
       in  a  manner  similar to fprintf(3).  The fmt argument is used to
       control the conversion, formatting, and printing of  the  variable
       length args list.  The output technique is controlled via an envi‐
       ronment variable.

       pmprintf  appends  the  formatted  message  string  to an internal
       buffer shared by the two routines, without actually producing  any
       output.

       pmflush  causes  the  internal  buffer to be either displayed in a
       window, printed on standard error, or flushed to a  file  and  the
       internal buffer to be cleared.

DIAGNOSTICS         top

       On  successful  completion, pmprintf returns the number of charac‐
       ters transmitted, while pmflush returns a value of  zero  on  suc‐
       cessful completion.

       For  either  routine, a negative value is returned if an error was
       encountered, and this can be passed to pmErrStr(3) to  obtain  the
       associated error message.

FILES         top

       pmprintf  uses the mkstemp(3) function to create a temporary file.
       This temporary file is deleted when pmflush is called.

ENVIRONMENT         top

       The environment variable PCP_STDERR controls the output  technique
       used by pmflush:

           If  PCP_STDERR  is  unset, the text is written onto the stderr
           stream of the caller.

           If PCP_STDERR is set to the literal reserved word DISPLAY then
           the text will be displayed as a GUI dialog using xconfirm(1).

           If PCP_STDERR is set to any other value  then  pmflush  inter‐
           prets  the  value  as a file name and appends the text to that
           file.  The file is created if it doesn't already exist, and in
           this case if the file creation fails, then stderr is used  in‐
           stead).

SEE ALSO         top

       pmdbg(1), fprintf(3), mkstemp(3), pmErrStr(3) and PMAPI(3).

COLOPHON         top

       This  page is part of the PCP (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 is not part of the original manual page),  send  a
       mail to man-pages@man7.org

Performance Co-Pilot               PCP                        PMPRINTF(3)

Pages that refer to this page: pmgetoptions(3)pmloadderivedconfig(3)pmregisterderived(3)pmsprintf(3)QMC(3)QmcContext(3)QmcDesc(3)QmcGroup(3)QmcIndom(3)QmcMetric(3)QmcSource(3)