pmprintf(3) — Linux manual page
PMPRINTF(3) Library Functions Manual PMPRINTF(3)
NAME
pmprintf, pmflush - print formatted output in a window or to
standard error
C SYNOPSIS
#include <pcp/pmapi.h>
int pmprintf(const char *fmt, ... /*args*/);
int pmflush(void);
cc ... -lpcp
DESCRIPTION
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
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
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
pmprintf uses the mkstemp(3) function to create a temporary file.
This temporary file is deleted when pmflush is called.
ENVIRONMENT
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
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
pmdbg(1), fprintf(3), mkstemp(3), pmErrStr(3) and PMAPI(3).
COLOPHON
This page is part of the PCP (Performance Co-Pilot) project.
Information 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 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
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)