Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmcpp(1) [centos man page]

PMCPP(1)						      General Commands Manual							  PMCPP(1)

NAME
pmcpp - simple preprocessor for the Performance Co-Pilot SYNOPSIS
pmcpp [-D name[=value] ...] [infile] DESCRIPTION
pmcpp provides a very simple pre-processor for manipulating Performance Metric Name Space (PMNS) files for the Performance Co-Pilot (PCP). It is most commonly used internally to process the PMNS file(s) after pmLoadNameSpace(3) or pmLoadASCIINameSpace(3) is called. Input lines are read from infile (or standard input if infile is not specified), processed and written to standard output. All C-style comments of the form /* ... */ are stripped from the input stream. There are no predefined macros for pmcpp although macros may be defined on the command line using the -D option, where name and value must follow the same rules as described below for the #define directive. pmcpp accepts the following directives in the input stream (like cpp(1)): * #include "filename" or #include <filename> In either case the directory search path for filename tries filename first, then the directory for the command line infile (if any), followed by the $PCP_VAR_DIR/pmns directory. #include directives may be nested, up to a maximum depth of 5. * #define name value Defines a value for the macro name which must be a valid C-style name, so leading alphabetic or ``_'' followed by zero or more alphanu- merics or ``_''. value is optional (and defaults to an empty value) but when present it may not contain white space and quoting or escaping is not supported. * #undef name Removes the macro definition, if any, for name. * #ifdef name ... #endif or #ifndef name ... #endif The enclosing lines will be stripped or included, depending if the macro name is defined or not. Macro substitution is achieved by breaking the input stream into words separated by white space or one of the characters ``.'' or ``:'' - this matches the syntax of the PMNS, see pmns(5). Each word is checked and if it matches a macro name, the word is replaced by the macro value, otherwise the word is unchanged. There is generally one output line for each input line, although the line may be empty if the text has been stripped due to the handling of comments or conditional directives. When there is a change in the input stream, an additional output line is generated of the form: # line "name" to indicate the following line of output corresponds to line number line of the input file name. Important cpp(1) features that are not supported by pmcpp include: * #if expr ... #endif * Nested use of #ifdef or #ifndef. * #else within an #ifdef or #ifndef. * Stripping C++ style comments, as in // comment * Error recovery - the first error encountered by pmcpp will be fatal. * cpp(1) command line options like -U , -P and -I. PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura- tion file, as described in pcp.conf(5). SEE ALSO
cpp(1), pmLoadASCIINameSpace(3), pmLoadNameSpace(3), pmns(5), pcp.conf(5) and pcp.env(5). Performance Co-Pilot PMCPP(1)

Check Out this Related Man Page

PMTRIMNAMESPACE(3)					     Library Functions Manual						PMTRIMNAMESPACE(3)

NAME
pmTrimNameSpace - prune a performance metrics name space C SYNOPSIS
#include <pcp/pmapi.h> int pmTrimNameSpace(void); cc ... -lpcp DESCRIPTION
If the current Performance Metrics Application Programming Interface (PMAPI) context corresponds to a version 1 archive log of Performance Co-Pilot (PCP) performance metrics (as collected by pmlogger(1) -V1), then the currently loaded Performance Metrics Name Space (PMNS), is trimmed to exclude metrics for which no description can be found in the archive. The PMNS is further trimmed to remove empty subtrees that do not contain any performance metric. Since PCP archives usually contain some subset of all metrics named in the default PMNS, pmTrimNameSpace effectively trims the applica- tion's PMNS to contain only the names of the metrics in the archive. Since PCP 2.0, pmTrimNameSpace is only needed for dealing with version 1 archives. Version 2 archives actually store the "trimmed" PMNS. Prior to any trimming, the PMNS is restored to the state as of the completion of the last pmLoadASCIINameSpace(3) or pmLoadNameSpace(3), so the effects of consecutive calls to pmTrimNameSpace with archive contexts are not additive. If the current PMAPI context corresponds to a host and a pmLoadASCIINameSpace(3) or pmLoadNameSpace(3) call was made, then the PMNS reverts to all names loaded into the PMNS at the completion of the last pmLoadASCIINameSpace(3) or pmLoadNameSpace(3), i.e. any trimming is undone. On success, pmTrimNameSpace returns zero. SEE ALSO
pmlogger(1), PMAPI(3), pmLoadASCIINameSpace(3), pmLoadNameSpace(3), pmNewContext(3) and pmns(5). DIAGNOSTICS
PM_ERR_NOPMNS you must have loaded a PMNS using pmLoadASCIINameSpace(3) or pmLoadNameSpace(3) before calling pmTrimNameSpace PM_ERR_NOCONTEXT the current PMAPI context is invalid Performance Co-Pilot PCP PMTRIMNAMESPACE(3)
Man Page