pmSetDebug, pmClearDebug — manipulate PCP debugging control options

C Synopsis

#include <pcp/pmapi.h>

int pmSetDebug(const char *spec);
int pmClearDebug(const char *spec);

cc ... -lpcp

Description

Within the libraries and applications of the Performance Co-Pilot (PCP) there is an extensive set of debugging options that may be enabled or disabled at run-time.

Both pmSetDebug and pmClearDebug parse spec assuming it to be a comma separated list of PCP debug option names.

The names of the available options may be found using the -l argument to pmdbg(1).

As a special case, the name “all” is treated as a synonym for identifying all option names.

pmSetDebug will set the corresponding options, while pmClearDebug will clear the corresponding options.

Consecutive calls to either routine will be additive.  For example the following code fragments are equivalent in terms of the final configuration of the debug options.

sts = pmClearDebug("all");
sts = pmSetDebug("appl0");
sts = pmSetDebug("pdu,fetch");
sts = pmSetDebug("fetch,profile,context");
sts = pmClearDebug("appl0");

sts = pmClearDebug("all");
sts = pmSetDebug("pdu,fetch,profile,context");

An earlier implementation of the PCP debug facilities used a bit-vector and for backwards compatibility the elements of spec may include decimal values corresponding to those bit-values. Refer to pmdbg(1) for more details of this deprecated format.

See Also

pmdbg(1)

Diagnostics

If successful, these routines return 0, otherwise the return is PM_ERR_CONV to indicate a parsing error.

Referenced By

pmdaConnect(3), pmdbg(1), pmFreeOptions(3), __pmParseDebug(3), QMC(3), QmcContext(3), QmcDesc(3), QmcGroup(3), QmcIndom(3), QmcMetric(3), QmcSource(3).

The man pages pmsetdebug(3) and pmSetDebug(3) are aliases of pmClearDebug(3).

PCP Performance Co-Pilot