PMCLIENT(1)

hi bestie πŸ’– you just opened up the General Commands Manual (that's section 1, the commands one) and honestly? you're about to have a really good time. sit down, grab a strawberry πŸ“, we're doing performance metrics.


🌸 NAME 🌸

pmclient, pmclient_fg β€” a simple performance metrics client. yes, simple, and yes, both of them, we're covering the whole squad 🫢


✨ SYNOPSIS ✨

pmclient [-PVz?] [-a archive] [-A align] [-D debug] [-h host] [-n pmnsfile] [-O origin] [-s samples] [-S starttime] [-t interval] [-T endtime] [-Z timezone]

pmclient_fg ...

note the way pmclient_fg just trails off into ... β€” that's canon, that's literally what the page says, don't come for me πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so. pmclient and pmclient_fg are simple clients that use the Performance Metrics Application Programming Interface β€” PMAPI, if you're nasty β€” to report some high-level system performance metrics. high-level. we're not doing the deep lore here, we're doing the vibe check ✨

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. so like... they're literally the tutorial. they're the demo. they're the "here, copy this" of the PCP world πŸ‘‘

pmclient_fg differs from 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. switching up the whole namespace, iconic πŸŽ€

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.

⚠️ bestie listen. The -a and -h options are mutually exclusive. pick one. you cannot have both. it's giving "choose your fighter" πŸ’€

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. 🌈

πŸ’… OPTIONS πŸ’…

The available command line options are β€” and yes, we're doing all of them, no skips, no skipping, we don't do that here:

  • -a archive, --archive=archive β€” Performance metric values are retrieved from the set of Performance Co-Pilot (PCP) archive 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. πŸ†˜

πŸŽ€ FILES πŸŽ€

  • $PCP_DEMOS_DIR/pmclient β€” source code, documentation, configuration files and Makefile when the PCP development package is installed. the whole kit and caboodle, fr fr πŸ“

🧚 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).

For environment variables affecting PCP tools, see pmGetOptions(3). iykyk πŸ’œ


πŸ” DEBUGGING OPTIONS πŸ”

The -D or --debug option enables the output of additional diagnostics on stderr to help triage problems, although the information is sometimes cryptic and primarily intended to provide guidance for developers rather than for end-users. debug is a comma separated list of debugging options; use pmdbg(1) with the -l option to obtain a list of the available debugging options and their meaning.

πŸ™ˆ no cap, this one is for the devs. if it looks like gibberish to you, that's not a you problem, that's the design.

🌈 SEE ALSO 🌈


and that's the whole page bestie, you ate πŸ’…βœ¨ this lil man page came to you straight from the Performance Co-Pilot crew, shipped as part of the PCP project under the PMCLIENT(1) name β€” go forth and sample some metrics, you main character πŸ‘‘πŸ’–

πŸ“¦ where this page comes from