pmclient, pmclient_fg — a simple performance metrics client
pmclient [-PVz?] [-a archive] [-A align] [-h host] [-n pmnsfile] [-O origin] [-s samples] [-S starttime] [-t interval] [-T endtime] [-Z timezone]
pmclient and pmclient_fg are simple clients that use the Performance Metrics Application Programming Interface (PMAPI) to report some high-level system performance metrics.
The real value of these tools is as sample clients using the PMAPI(3), interfaces and to this end the source code is included with the Performance Co-Pilot (PCP) package (see PCPIntro(1)), and is typically installed in /usr/share/pcp/demos/pmclient.
The pmclient_fg program differs to pmclient in that it uses the fetchgroup API extension to the PMAPI, see pmFetchGroup(3).
Normally pmclient operates on the distributed Performance Metrics Name Space (PMNS), however if the -n option is specified an alternative local PMNS is loaded from the file pmnsfile.
Unless directed to another host by the -h option, or to an archive by the -a option, pmclient will contact the Performance Metrics Collector Daemon (PMCD) on the local host to obtain the required information. The argument to -a is a comma-separated list of names, each of which may be the base name of an archive or the name of a directory containing one or more archives. The -a and -h options are mutually exclusive.
By default, pmclient reports the time of day according to the local timezone on the system where pmclient is run. The -Z option changes the timezone to timezone in the format of the environment variable TZ as described in environ(7). The -z option changes the timezone to the local timezone at the host that is the source of the performance metrics, as identified via either the -h or -a options.
The output from pmclient is directed to standard output, and lists
- Aggregate CPU utilization, in the range 0 to 1.
- If the system has more than 1 CPU, the ordinal number of the busiest CPU, in the range 0 to ...
- If the system has more than 1 CPU, the CPU utilization for the busiest CPU.
- Real free memory in Mbytes.
- Aggregate physical disk I/O operations per second (IOPS).
- Load average over the last 1 minute and over the last 15 minutes.
The available command line options are:
- -a archive, --archive=archive
Performance metric values are retrieved from the set of Performance Co-Pilot (PCP) archive log files identified by the archive argument, which is a comma-separated list of names, each of which may be the base name of an archive or the name of a directory containing one or more archives.
- -A align, --align=align
Force the initial sample to be aligned on the boundary of a natural time unit align. Refer to PCPIntro(1) for a complete description of the syntax for align.
- -h host, --host=host
Fetch performance metrics from pmcd(1) on host, rather than from the default localhost.
- -n pmnsfile, --namespace=pmnsfile
Load an alternative Performance Metrics Name Space (PMNS(5)) from the file pmnsfile.
- -O origin, --origin=origin
When reporting archived metrics, start reporting at origin within the time window (see -S and -T). Refer to PCPIntro(1) for a complete description of the syntax for origin.
- -P, --pause
The default behavior for replaying a set of archives, is to replay at full speed. The -P option may be used in conjunction with a set of archives, to request that the prevailing real-time delay be applied between samples (see -t) to effect a pause.
- -s samples, --samples=samples
The samples argument defines the number of samples to be retrieved and reported. If samples is 0 or -s is not specified, pmclient will sample and report continuously (in real time mode) or until the end of the set of PCP archives (in archive mode).
- -S starttime, --start=starttime
The -S option may be used in conjunction with a set of archives to request that display start at the starttime from the start of the archive(s). Refer to PCPIntro(1) for a complete description of the syntax for starttime.
- -t interval, --interval=interval
Set the reporting interval to something other than the default 5 seconds. The interval argument follows the syntax described in PCPIntro(1), and in the simplest form may be an unsigned integer (the implied units in this case are seconds).
- -T endtime, --finish=endtime
When reporting archived metrics, the report will be restricted to those records logged before or at endtime. Refer to PCPIntro(1) for a complete description of the syntax for endtime.
- -V, --version
Display version number and exit.
- -z, --hostzone
Use the local timezone of the host that is the source of the performance metrics, as identified by either the -h or the -a options. The default is to use the timezone of the local host.
- -Z timezone, --timezone=timezone
Use timezone for the date and time. Timezone is in the format of the environment variable TZ as described in environ(7).
- -?, --help
Display usage message and exit.
All are generated on standard error, and are intended to be self-explanatory.
source code, documentation, configuration files and Makefile when the PCP development package is installed
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).
For environment variables affecting PCP tools, see pmGetOptions(3).
PCPIntro(1), pmcd(1), pmchart(1), pmdumptext(1), pmgenmap(1), pminfo(1), pmrep(1), pmstat(1), pmval(1), PMAPI(3), pmFetchGroup(3), pcp.conf(5), pcp.env(5) and PMNS(5).
The man page pmclient_fg(1) is an alias of pmclient(1).