pmnsmerge(1) — Linux manual page
PMNSMERGE(1) General Commands Manual PMNSMERGE(1)
NAME
pmnsmerge - merge multiple versions of a Performance Co-Pilot
PMNS
SYNOPSIS
$PCP_BINADM_DIR/pmnsmerge [-adfxv] infile [...] outfile
DESCRIPTION
pmnsmerge merges multiple instances of a Performance Metrics Name
Space (PMNS), as used by the components of the Performance Co-
Pilot (PCP).
Each infile argument names a file that includes the root of a
PMNS, of the form
root {
/* arbitrary stuff */
}
The order in which the infile files are processed is determined
by the presence or absence of embedded control lines of the form
#define _DATESTAMP YYYYMMDD
Files without a control line are processed first and in the order
they appear on the command line. The other files are then
processed in order of ascending _DATESTAMP.
The -a option suppresses the argument re-ordering and processes
all files in the order they appear on the command line.
The merging proceeds by matching names in PMNS, only those new
names in each PMNS are considered, and these are added after any
existing metrics with the longest possible matching prefix in
their names. For example, merging these two input PMNS
root { root {
surprise 1:1:3
mine 1:1:1 mine 1:1:1
foo foo
yawn
yours 1:1:2
} }
foo { foo {
fumble 1:2:1
mumble 1:2:3
stumble 1:2:2 stumble 1:2:2
} }
yawn {
sleepy 1:3:1
}
Produces the resulting PMNS in out.
root {
mine 1:1:1
foo
yours 1:1:2
surprise 1:1:3
yawn
}
foo {
fumble 1:2:1
stumble 1:2:2
mumble 1:2:3
}
yawn {
sleepy 1:3:1
}
To avoid accidental over-writing of PMNS files, outfile is
expected to not exist when pmnsmerge starts. The -f option
allows an existing outfile to be unlinked (if possible) and
truncated before writing starts.
Normally duplicate names for the same Performance Metric
Identifier (PMID) in a PMNS are allowed. The -d option is the
default option and is included for backwards compatibility. The
-x option reverses the default and pmnsmerge will report an error
and exit with a non-zero status if a duplicate name is found for
a PMID in any of the input PMNS files or in the merged output
PMNS.
The -v option produces one line of diagnostic output as each
infile is processed.
Once all of the merging has been completed, pmnsmerge will
attempt to load the resultant namespace using
pmLoadASCIINameSpace(3) - if this fails for any reason, outfile
will still be created, but pmnsmerge will report the problem and
exit with non-zero status.
Using pmnsmerge with a single input argument allows that PMNS
file to be checked. In addition to syntactic checking,
specifying -x will also enable a check for duplicate names for
all PMIDs.
OPTIONS
The available command line options are:
-a Process files in command line order.
-d, --dupok
Allow duplicate metric names per PMID. This is the default.
-f, --force
Overwrite output file if it already exists.
-v, --verbose
Verbose input processing.
-x, --nodups
Do not allow duplicate metric names per PMID.
-?, --help
Display usage message and exit.
CAVEATS
Once the writing of the new outfile file has begun, the signals
SIGINT, SIGHUP and SIGTERM will be ignored to protect the
integrity of the new file.
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 configuration file, as described in
pcp.conf(5).
SEE ALSO
pmnsadd(1), pmnsdel(1), pmLoadASCIINameSpace(3), pcp.conf(5),
pcp.env(5) and PMNS(5).
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 PMNSMERGE(1)
Pages that refer to this page: pmnsadd(1), pmnscomp(1), pmnsdel(1)