A.7. Performance Co-Pilot (PCP)

Performance Co-Pilot (PCP) provides a large number of command-line tools, graphical tools, and libraries. For more information on these tools, see their respective manual pages.

Table A.1. System Services Distributed with Performance Co-Pilot in Red Hat Enterprise Linux 7

Name Description
pmcd The Performance Metric Collector Daemon (PMCD).
pmie The Performance Metrics Inference Engine.
pmlogger The performance metrics logger.
pmmgr Manages a collection of PCP daemons for a set of discovered local and remote hosts running the Performance Metric Collector Daemon (PMCD) according to zero or more configuration directories.
pmproxy The Performance Metric Collector Daemon (PMCD) proxy server.
pmwebd Binds a subset of the Performance Co-Pilot client API to RESTful web applications using the HTTP protocol.

Table A.2. Tools Distributed with Performance Co-Pilot in Red Hat Enterprise Linux 7

Name Description
pcp Displays the current status of a Performance Co-Pilot installation.
pmatop Shows the system-level occupation of the most critical hardware resources from the performance point of view: CPU, memory, disk, and network.
pmchart Plots performance metrics values available through the facilities of the Performance Co-Pilot.
pmclient Displays high-level system performance metrics by using the Performance Metrics Application Programming Interface (PMAPI).
pmcollectl Collects and displays system-level data, either from a live system or from a Performance Co-Pilot archive file.
pmconfig Displays the values of configuration parameters.
pmdbg Displays available Performance Co-Pilot debug control flags and their values.
pmdiff Compares the average values for every metric in either one or two archives, in a given time window, for changes that are likely to be of interest when searching for performance regressions.
pmdumplog Displays control, metadata, index, and state information from a Performance Co-Pilot archive file.
pmdumptext Outputs the values of performance metrics collected live or from a Performance Co-Pilot archive.
pmerr Displays available Performance Co-Pilot error codes and their corresponding error messages.
pmfind Finds PCP services on the network.
pmie An inference engine that periodically evaluates a set of arithmetic, logical, and rule expressions. The metrics are collected either from a live system, or from a Performance Co-Pilot archive file.
pmieconf Displays or sets configurable pmie variables.
pminfo Displays information about performance metrics. The metrics are collected either from a live system, or from a Performance Co-Pilot archive file.
pmiostat Reports I/O statistics for SCSI devices (by default) or device-mapper devices (with the -x dm option).
pmlc Interactively configures active pmlogger instances.
pmlogcheck Identifies invalid data in a Performance Co-Pilot archive file.
pmlogconf Creates and modifies a pmlogger configuration file.
pmloglabel Verifies, modifies, or repairs the label of a Performance Co-Pilot archive file.
pmlogsummary Calculates statistical information about performance metrics stored in a Performance Co-Pilot archive file.
pmprobe Determines the availability of performance metrics.
pmrep Reports on selected, easily customizable, performance metrics values.
pmsocks Allows access to a Performance Co-Pilot hosts through a firewall.
pmstat Periodically displays a brief summary of system performance.
pmstore Modifies the values of performance metrics.
pmtrace Provides a command line interface to the trace Performance Metrics Domain Agent (PMDA).
pmval Displays the current value of a performance metric.

Table A.3. PCP Metric Groups for XFS

Metric Group Metrics provided
xfs.* General XFS metrics including the read and write operation counts, read and write byte counts. Along with counters for the number of times inodes are flushed, clustered and number of failure to cluster.
xfs.allocs.*
xfs.alloc_btree.*
Range of metrics regarding the allocation of objects in the file system, these include number of extend and block creations/frees. Allocation tree lookup and compares along with extend record creation and deletion from the btree.
xfs.block_map.*
xfs.bmap_tree.*
Metrics include the number of block map read/write and block deletions, extent list operations for insertion, deletions and lookups. Also operations counters for compares, lookups, insertions and deletion operations from the blockmap.
xfs.dir_ops.* Counters for directory operations on XFS file systems for creation, entry deletions, count of “getdent” operations.
xfs.transactions.* Counters for the number of meta-data transactions, these include the count for the number of synchronous and asynchronous transactions along with the number of empty transactions.
xfs.inode_ops.* Counters for the XFS inode operations, these include metrics for the number of looks for inodes in memory, number of time inodes in memory. Also metrics for counts of inode attribute changes.
xfs.log.*
xfs.log_tail.*
Counters for the number of log buffer writes over XFS file sytems includes the number of blocks written to disk. Metrics also for the number of log flushes and pinning.
xfs.xstrat.* Counts for the number of bytes of file data flushed out by the XFS flush deamon along with counters for number of buffers flushed to contiguous and non-contiguous space on disk.
xfs.attr.* Counts for the number of attribute get, set, remove and list operations over all XFS file systems.
xfs.quota.* Metrics for quota operation over XFS file systems, these include counters for number of quota reclaims, quota cache misses, cache hits and quota data reclaims.
xfs.buffer.* Range of metrics regarding XFS buffer objects. Counters include the number of requested buffer calls, successful buffer locks, waited buffer locks, miss_locks, miss_retries and buffer hits when looking up pages.
xfs.btree.* Metrics regarding the operations of the XFS btree.
xfs.control.reset Configuration metrics which are used to reset the metric counters for the XFS stats. Control metrics are toggled by means of the pmstore tool.

Table A.4. PCP Metric Groups for XFS per Device

Metric Group Metrics provided
xfs.perdev.* General XFS metrics including the read and write operation counts, read and write byte counts. Along with counters for the number of times inodes are flushed, clustered and number of failure to cluster.
xfs.perdev.allocs.*
xfs.perdev.alloc_btree.*
Range of metrics regarding the allocation of objects in the file system, these include number of extend and block creations/frees. Allocation tree lookup and compares along with extend record creation and deletion from the btree.
xfs.perdev.block_map.*
xfs.perdev.bmap_tree.*
Metrics include the number of block map read/write and block deletions, extent list operations for insertion, deletions and lookups. Also operations counters for compares, lookups, insertions and deletion operations from the blockmap.
xfs.perdev.dir_ops.* Counters for directory operations of XFS file systems for creation, entry deletions, count of “getdent” operations.
xfs.perdev.transactions.* Counters for the number of meta-data transactions, these include the count for the number of synchronous and asynchronous transactions along with the number of empty transactions.
xfs.perdev.inode_ops.* Counters for the XFS inode operations, these include metrics for the number of looks for inodes in memory, number of time inodes in memory. Also metrics for counts of inode attribute changes.
xfs.perdev.log.*
xfs.perdev.log_tail.*
Counters for the number of log buffer writes over XFS filesytems includes the number of blocks written to disk. Metrics also for the number of log flushes and pinning.
xfs.perdev.xstrat.* Counts for the number of bytes of file data flushed out by the XFS flush deamon along with counters for number of buffers flushed to contiguous and non-contiguous space on disk.
xfs.perdev.attr.* Counts for the number of attribute get, set, remove and list operations over all XFS file systems.
xfs.perdev.quota.* Metrics for quota operation over XFS file systems, these include counters for number of quota reclaims, quota cache misses, cache hits and quota data reclaims.
xfs.perdev.buffer.* Range of metrics regarding XFS buffer objects. Counters include the number of requested buffer calls, successful buffer locks, waited buffer locks, miss_locks, miss_retries and buffer hits when looking up pages.
xfs.perdev.btree.* Metrics regarding the operations of the XFS btree.