pmprintf(3) — Linux manual page


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
       environment variable.

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

       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
       characters transmitted, while pmflush returns a value of zero on
       successful 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

           If PCP_STDERR is set to any other value then pmflush
           interprets 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 instead).

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.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for this manual
       page, send it to  This page was obtained from the
       project's upstream Git repository
       ⟨⟩ on 2024-06-14.
       (At that time, the date of the most recent commit that was found
       in the repository was 2024-06-14.)  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

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)