Chapter 6. Monitoring performance with Performance Co-Pilot
As a system administrator, you can monitor the system’s performance using the Performance Co-Pilot (PCP) application in Red Hat Enterprise Linux 8.
6.1. Overview of PCP
PCP is a suite of tools, services, and libraries for monitoring, visualizing, storing, and analyzing system-level performance measurements.
Features of PCP:
- Light-weight distributed architecture, which is useful during the centralized analysis of complex systems.
- It allows the monitoring and management of real-time data.
- It allows logging and retrieval of historical data.
You can add performance metrics using Python, Perl, C++, and C interfaces. Analysis tools can use the Python, C++, C client APIs directly, and rich web applications can explore all available performance data using a JSON interface.
You can analyze data patterns by comparing live results with archived data.
PCP has the following components:
-
The Performance Metric Collector Daemon (
pmcd
) collects performance data from the installed Performance Metric Domain Agents (pmda
). PMDAs can be individually loaded or unloaded on the system and are controlled by the PMCD on the same host. -
Various client tools, such as
pminfo
orpmstat
, can retrieve, display, archive, and process this data on the same host or over the network. -
The
pcp
package provides the command-line tools and underlying functionality. -
The
pcp-gui
package provides the graphical application. Install thepcp-gui
package by executing theyum install pcp-gui
command. For more information, see Section 6.6, “Visually tracing PCP log archives with the PCP Charts application”.
Additional resources
-
The
/usr/share/doc/pcp-doc/
directory. - Section 6.9, “Tools distributed with PCP”.
- The Index of Performance Co-Pilot (PCP) articles, solutions, tutorials and white papers on Red Hat Customer Portal.
- The Side-by-side comparison of PCP tools with legacy tools Red Hat Knowledgebase article.
- The upstream PCP documentation.
6.2. Installing and enabling PCP
To begin using PCP, install all the required packages and enable the PCP monitoring services.
Procedure
Install the PCP package:
# yum install pcp
Enable and start the
pmcd
service on the host machine:# systemctl enable pmcd # systemctl start pmcd
Verify that the
pmcd
process is running on the host and the XFS PMDA is listed as enabled in the configuration:# pcp Performance Co-Pilot configuration on workstation: platform: Linux workstation 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 hardware: 12 cpus, 2 disks, 1 node, 36023MB RAM timezone: CEST-2 services: pmcd pmcd: Version 4.3.0-1, 8 agents pmda: root pmcd proc xfs linux mmv kvm jbd2
Additional resources
- Section 6.9, “Tools distributed with PCP”.
- The pmcd man page.
6.3. Deploying a minimal PCP setup
The minimal PCP setup collects performance statistics on Red Hat Enterprise Linux. The setup involves adding the minimum number of packages on a production system needed to gather data for further analysis. You can analyze the resulting tar.gz
file and the archive of the pmlogger
output using various PCP tools and compare them with other sources of performance information.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Update the
pmlogger
configuration:# pmlogconf -r /var/lib/pcp/config/pmlogger/config.default
Start the
pmcd
andpmlogger
services:# systemctl start pmcd.service # systemctl start pmlogger.service
- Execute the required operations to record the performance data.
Stop the
pmcd
andpmlogger
services:# systemctl stop pmcd.service # systemctl stop pmlogger.service
Save the output and save it to a
tar.gz
file named based on the host name and the current date and time:# cd /var/log/pcp/pmlogger/ # tar -czf $(hostname).$(date +%F-%Hh%M).pcp.tar.gz $(hostname)
Extract this file and analyze the data using PCP tools.
Additional resources
- Section 6.9, “Tools distributed with PCP”
- Section 6.8, “System services distributed with PCP”
- The pmlogconf man page.
- The pmlogger man page.
- The pmcd man page.
6.4. Logging performance data with pmlogger
With the PCP tool you can log the performance metric values and replay them later. This allows you to perform a retrospective performance analysis.
Using the pmlogger
tool, you can:
- Create the archived logs of selected metrics on the system
- Specify which metrics are recorded on the system and how often
6.4.1. Modifying the pmlogger configuration file with pmlogconf
When the pmlogger
service is running, PCP logs a default set of metrics on the host. Use the pmlogconf
utility to check the default configuration. If the pmlogger
configuration file does not exist, pmlogconf
creates it with a default metric values.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Create or modify the
pmlogger
configuration file:# pmlogconf -r /var/lib/pcp/config/pmlogger/config.default
-
Follow
pmlogconf
prompts to enable or disable groups of related performance metrics and to control the logging interval for each enabled group.
Additional resources
- Section 6.9, “Tools distributed with PCP”
- Section 6.8, “System services distributed with PCP”
- The pmlogconf man page.
- The pmlogger man page.
6.4.2. Editing the pmlogger configuration file manually
To create a tailored logging configuration with specific metrics and given intervals, edit the pmlogger
configuration file manually.
In manual configuration, you can:
- Record metrics which are not listed in the automatic configuration.
- Choose custom logging frequencies.
- Add PMDA with the application metrics.
The default pmlogger
configuration file is /var/lib/pcp/config/pmlogger/config.default
. The configuration file specifies which metrics are logged by the primary logging instance.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Open and edit the
/var/lib/pcp/config/pmlogger/config.default
file to add specific metrics:# It is safe to make additions from here on ... # log mandatory on every 5 seconds { xfs.write xfs.write_bytes xfs.read xfs.read_bytes } log mandatory on every 10 seconds { xfs.allocs xfs.block_map xfs.transactions xfs.log } [access] disallow * : all; allow localhost : enquire;
Additional resources
6.4.3. Enabling the pmlogger service
The pmlogger
service must be started and enabled to log the metric values on the local machine.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Start and enable the
pmlogger
service:# systemctl start pmlogger # systemctl enable pmlogger
Verify that the
pmlogger
is enabled:# pcp Performance Co-Pilot configuration on workstation: platform: Linux workstation 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 hardware: 12 cpus, 2 disks, 1 node, 36023MB RAM timezone: CEST-2 services: pmcd pmcd: Version 4.3.0-1, 8 agents, 1 client pmda: root pmcd proc xfs linux mmv kvm jbd2 pmlogger: primary logger: /var/log/pcp/pmlogger/workstation/20190827.15.54
Additional resources
- Section 6.9, “Tools distributed with PCP”
- Section 6.8, “System services distributed with PCP”
-
The
/var/lib/pcp/config/pmlogger/config.default
file. - The pmlogger man page.
6.4.4. Setting up a client system for metrics collection
This procedure describes how to set up a client system so that a central server can collect metrics from clients running PCP.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Install the
pcp-system-tools
package:# yum install pcp-system-tools
Configure an IP address for
pmcd
:# echo "-i 192.168.4.62" >>/etc/pcp/pmcd/pmcd.options
Replace 192.168.4.62 with the IP address, the client should listen on.
By default,
pmcd
is listening on the localhost.Configure the firewall to add the public
zone
permanently:# firewall-cmd --permanent --zone=public --add-port=44321/tcp success # firewall-cmd --reload success
Set an SELinux boolean:
# setsebool -P pcp_bind_all_unreserved_ports on
Enable the
pmcd
andpmlogger
services:# systemctl enable pmcd pmlogger # systemctl restart pmcd pmlogger
Verification steps
Verify if the
pmcd
is correctly listening on the configured IP address:# ss -tlp | grep 44321 LISTEN 0 5 127.0.0.1:44321 0.0.0.0:* users:(("pmcd",pid=151595,fd=6)) LISTEN 0 5 192.168.4.62:44321 0.0.0.0:* users:(("pmcd",pid=151595,fd=0)) LISTEN 0 5 [::1]:44321 [::]:* users:(("pmcd",pid=151595,fd=7))
Additional resources
- Section 6.9, “Tools distributed with PCP”.
- Section 6.8, “System services distributed with PCP”.
-
The
/var/lib/pcp/config/pmlogger/config.default
file. - The pmlogger man page.
-
The
firewall-cmd
man page. -
The
setsebool
man page. -
The
ss
man page.
6.4.5. Setting up a central server to collect data
This procedure describes how to create a central server to collect metrics from clients running PCP.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
- Client is configured for metrics collection. For more information, see Section 6.4.4, “Setting up a client system for metrics collection”.
Procedure
Install the
pcp-system-tools
package:# yum install pcp-system-tools
Add clients for monitoring:
# echo "192.168.4.13 n n PCP_LOG_DIR/pmlogger/rhel7u4a -r -T24h10m \ -c config.remote" >> /etc/pcp/pmlogger/control.d/remote # echo "192.168.4.14 n n PCP_LOG_DIR/pmlogger/rhel6u10a -r -T24h10m \ -c config.remote" >> /etc/pcp/pmlogger/control.d/remote # echo "192.168.4.62 n n PCP_LOG_DIR/pmlogger/rhel8u1a -r -T24h10m \ -c config.remote" >> /etc/pcp/pmlogger/control.d/remote
Replace 192.168.4.13, 192.168.4.14, and 192.168.4.62 with the client IP addresses.
Enable the
pmcd
andpmlogger
services:# systemctl enable pmcd pmlogger # systemctl restart pmcd pmlogger
Verification steps
Ensure that you can access the latest archive file from each directory:
# for i in /var/log/pcp/pmlogger/rhel*/*.0; do pmdumplog -L $i; done Log Label (Log Format Version 2) Performance metrics from host rhel6u10a.local commencing Mon Nov 25 21:55:04.851 2019 ending Mon Nov 25 22:06:04.874 2019 Archive timezone: JST-9 PID for pmlogger: 24002 Log Label (Log Format Version 2) Performance metrics from host rhel7u4a commencing Tue Nov 26 06:49:24.954 2019 ending Tue Nov 26 07:06:24.979 2019 Archive timezone: CET-1 PID for pmlogger: 10941 [..]
The archive files from the
/var/log/pcp/pmlogger/
directory can be used for further analysis and graphing.
Additional resources
- Section 6.9, “Tools distributed with PCP”.
- Section 6.8, “System services distributed with PCP”.
-
The
/var/lib/pcp/config/pmlogger/config.default
file. - The pmlogger man page.
6.4.6. Replaying the PCP log archives with pmdumptext
After recording the metric data, you can replay the PCP log archives. To export the logs to text files and import them into spreadsheets, use PCP utilities such as pmdumptext
, pmrep
, or pmlogsummary
.
Using the pmdumptext
tool, you can:
- View the log files
- Parse the selected PCP log archive and export the values into an ASCII table
- Extract the entire archive log or only select metric values from the log by specifying individual metrics on the command line
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
-
The
pmlogger
service is enabled. For more information, see Section 6.4.3, “Enabling the pmlogger service”. Install the
pcp-gui
package:# yum install pcp-gui
Procedure
Display the data on the metric:
$ pmdumptext -t 5seconds -H -a 20170605 xfs.perdev.log.writes Time local::xfs.perdev.log.writes["/dev/mapper/fedora-home"] local::xfs.perdev.log.writes["/dev/mapper/fedora-root"] ? 0.000 0.000 none count / second count / second Mon Jun 5 12:28:45 ? ? Mon Jun 5 12:28:50 0.000 0.000 Mon Jun 5 12:28:55 0.200 0.200 Mon Jun 5 12:29:00 6.800 1.000
The mentioned example displays the data on the
xfs.perdev.log
metric collected in an archive at a 5 second interval and display all the headers.
Additional resources
- Section 6.9, “Tools distributed with PCP”
- Section 6.8, “System services distributed with PCP”
- The pmdumptext man page.
- The pmrep man page.
- The pmlogsummary man page.
- The pmlogger man page.
6.5. Monitoring postfix with pmda-postfix
This procedure describes how to monitor performance metrics of the postfix
mail server with pmda-postfix
. It helps to check how many emails are received per second.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
-
The
pmlogger
service is enabled. For more information, see Section 6.4.3, “Enabling the pmlogger service”.
Procedure
Install the following packages:
Install the
pcp-system-tools
:# yum install pcp-system-tools
Install the
pmda-postfix
package to monitorpostfix
:# yum install pcp-pmda-postfix postfix
Install the logging daemon:
# yum install rsyslog
Install the mail client for testing:
# yum install mutt
Enable the
postfix
andrsyslog
services:# systemctl enable postfix rsyslog # systemctl restart postfix rsyslog
Enable the SELinux boolean, so that
pmda-postfix
can access the required log files:# setsebool -P pcp_read_generic_logs=on
Install the
PMDA
:# cd /var/lib/pcp/pmdas/postfix/ # ./Install Updating the Performance Metrics Name Space (PMNS) ... Terminate PMDA if already installed ... Updating the PMCD control file, and notifying PMCD ... Waiting for pmcd to terminate ... Starting pmcd ... Check postfix metrics have appeared ... 7 metrics and 58 values
Verification steps
Verify the
pmda-postfix
operation:echo testmail | mutt root
Verify the available metrics:
# pminfo postfix postfix.received postfix.sent postfix.queues.incoming postfix.queues.maildrop postfix.queues.hold postfix.queues.deferred postfix.queues.active
Additional resources
- Section 6.9, “Tools distributed with PCP”
- Section 6.8, “System services distributed with PCP”
-
The
/var/lib/pcp/config/pmlogger/config.default
file. - The pmlogger man page.
-
The
rsyslog
man page. -
The
postfix
man page. -
The
setsebool
man page.
6.6. Visually tracing PCP log archives with the PCP Charts application
After recording metric data, you can replay the PCP log archives as graphs.
Using the PCP Charts application, you can:
- Replay the data in the PCP Charts application application and use graphs to visualize the retrospective data alongside live data of the system.
- Plot performance metric values into graphs.
- Display multiple charts simultaneously.
The metrics are sourced from one or more live hosts with alternative options to use metric data from PCP log archives as a source of historical data.
Following are the several ways to customize the PCP Charts application interface to display the data from the performance metrics:
- line plot
- bar graphs
- utilization graphs
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
-
Logged performance data with the
pmlogger
. For more information, see Section 6.4, “Logging performance data with pmlogger”. Install the
pcp-gui
package:# yum install pcp-gui
Procedure
Launch the PCP Charts application from the command line:
# pmchart
The
pmtime
server settings are located at the bottom. The start and pause button allows you to control:- The interval in which PCP polls the metric data
- The date and time for the metrics of historical data
- Go to File → New Chart to select metric from both the local machine and remote machines by specifying their host name or address. Advanced configuration options include the ability to manually set the axis values for the chart, and to manually choose the color of the plots.
Record the views created in the PCP Charts application:
Following are the options to take images or record the views created in the PCP Charts application:
- Click File → Export to save an image of the current view.
- Click Record → Start to start a recording. Click Record → Stop to stop the recording. After stopping the recording, the recorded metrics are archived to be viewed later.
Optional: In the PCP Charts application, the main configuration file, known as the view, allows the metadata associated with one or more charts to be saved. This metadata describes all chart aspects, including the metrics used and the chart columns. Save the custom view configuration by clicking File → Save View, and load the view configuration later. The following example of the PCP Charts application view configuration file describes a stacking chart graph showing the total number of bytes read and written to the given XFS file system
loop1
:#kmchart version 1 chart title "Filesystem Throughput /loop1" style stacking antialiasing off plot legend "Read rate" metric xfs.read_bytes instance "loop1" plot legend "Write rate" metric xfs.write_bytes instance "loop1"
Additional resources
- Section 6.9, “Tools distributed with PCP”
- The pmchart man page.
- The pmtime man page.
6.7. XFS file system performance analysis with PCP
The XFS PMDA ships as part of the pcp
package and is enabled by default during the installation. It is used to gather performance metric data of XFS file systems in PCP.
6.7.1. Installing XFS PMDA manually
If the XFS PMDA is not listed in PCP configuration readout, install the PMDA agent manually.
Procedure
Navigate to the xfs directory:
# cd /var/lib/pcp/pmdas/xfs/
Install the XFS PMDA manually:
xfs]# ./Install You will need to choose an appropriate configuration for install of the “xfs” Performance Metrics Domain Agent (PMDA). collector collect performance statistics on this system monitor allow this system to monitor local and/or remote systems both collector and monitor configuration for this system Please enter c(ollector) or m(onitor) or (both) [b] Updating the Performance Metrics Name Space (PMNS) ... Terminate PMDA if already installed ... Updating the PMCD control file, and notifying PMCD ... Waiting for pmcd to terminate ... Starting pmcd ... Check xfs metrics have appeared ... 149 metrics and 149 values
Select the intended PMDA role by entering
c
for collector,m
for monitor, orb
for both. The PMDA installation script prompts you to specify one of the following PMDA roles:-
The
collector
role allows the collection of performance metrics on the current system The
monitor
role allows the system to monitor local systems, remote systems, or bothThe default option is both
collector
andmonitor
, which allows the XFS PMDA to operate correctly in most scenarios.
-
The
Additional resources
- Section 6.9, “Tools distributed with PCP”
- The pmcd man page.
6.7.2. Examining XFS performance metrics with pminfo
The pminfo
tool displays information about the available performance metrics. This procedure displays a list of all available metrics provided by the XFS PMDA.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Display the list of all available metrics provided by the XFS PMDA:
# pminfo xfs
Display information for the individual metrics. The following examples examine specific XFS
read
andwrite
metrics using thepminfo
tool:Display a short description of the
xfs.write_bytes
metric:# pminfo --oneline xfs.write_bytes xfs.write_bytes [number of bytes written in XFS file system write operations]
Display a long description of the
xfs.read_bytes
metric:# pminfo --helptext xfs.read_bytes xfs.read_bytes Help: This is the number of bytes read via read(2) system calls to files in XFS file systems. It can be used in conjunction with the read_calls count to calculate the average size of the read operations to file in XFS file systems.
Obtain the current performance value of the
xfs.read_bytes
metric:# pminfo --fetch xfs.read_bytes xfs.read_bytes value 4891346238
Additional resources
- Section 6.10, “PCP metric groups for XFS”.
- The pminfo man page.
6.7.3. Resetting XFS performance metrics with pmstore
With PCP, you can modify the values of certain metrics, especially if the metric acts as a control variable, such as the xfs.control.reset
metric. To modify a metric value, use the pmstore
tool.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Display the value of a metric:
$ pminfo -f xfs.write xfs.write value 325262
Reset all the XFS metrics:
# pmstore xfs.control.reset 1 xfs.control.reset old value=0 new value=1
View the information after resetting the metric:
$ pminfo --fetch xfs.write xfs.write value 0
Additional resources
- Section 6.9, “Tools distributed with PCP”
- Section 6.10, “PCP metric groups for XFS”.
- The pmstore man page.
- The pminfo man page.
6.7.4. Examining XFS metrics available per file system
PCP enables XFS PMDA to allow the reporting of certain XFS metrics per each of the mounted XFS file systems. This makes it easier to pinpoint specific mounted file system issues and evaluate performance. The pminfo
command provides per-device XFS metrics for each mounted XFS file system.
Prerequisites
- PCP is installed. For more information, see Section 6.2, “Installing and enabling PCP”.
Procedure
Obtain per-device XFS metrics with
pminfo
:# pminfo --fetch --oneline xfs.perdev.read xfs.perdev.write xfs.perdev.read [number of XFS file system read operations] inst [0 or "loop1"] value 0 inst [0 or "loop2"] value 0 xfs.perdev.write [number of XFS file system write operations] inst [0 or "loop1"] value 86 inst [0 or "loop2"] value 0
Additional resources
- Section 6.11, “Per-device PCP metric groups for XFS”.
- The pminfo man page.
6.8. System services distributed with PCP
Name | Description |
| The Performance Metric Collector Daemon (PMCD). |
| The Performance Metrics Inference Engine. |
| The performance metrics logger. |
| 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. |
| The Performance Metric Collector Daemon (PMCD) proxy server. |
6.9. Tools distributed with PCP
Name | Description |
| Displays the current status of a Performance Co-Pilot installation. |
| Shows the system-level occupation of the most critical hardware resources from the performance point of view: CPU, memory, disk, and network. |
|
Displays metrics of one system at a time. To display metrics of multiple systems, use |
| Plots performance metrics values available through the facilities of the Performance Co-Pilot. |
| Displays high-level system performance metrics by using the Performance Metrics Application Programming Interface (PMAPI). |
| Collects and displays system-level data, either from a live system or from a Performance Co-Pilot archive file. |
| Displays the values of configuration parameters. |
| Displays available Performance Co-Pilot debug control flags and their values. |
| 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. |
| Displays control, metadata, index, and state information from a Performance Co-Pilot archive file. |
| Outputs the values of performance metrics collected live or from a Performance Co-Pilot archive. |
| Displays available Performance Co-Pilot error codes and their corresponding error messages. |
| Finds PCP services on the network. |
| 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. |
| Displays or sets configurable pmie variables. |
| Displays information about performance metrics. The metrics are collected either from a live system, or from a Performance Co-Pilot archive file. |
| Reports I/O statistics for SCSI devices (by default) or device-mapper devices (with the -x dm option). |
| Interactively configures active pmlogger instances. |
| Identifies invalid data in a Performance Co-Pilot archive file. |
| Creates and modifies a pmlogger configuration file. |
| Verifies, modifies, or repairs the label of a Performance Co-Pilot archive file. |
| Calculates statistical information about performance metrics stored in a Performance Co-Pilot archive file. |
| Determines the availability of performance metrics. |
| Reports on selected, easily customizable, performance metrics values. |
| Allows access to a Performance Co-Pilot hosts through a firewall. |
| Periodically displays a brief summary of system performance. |
| Modifies the values of performance metrics. |
| Provides a command line interface to the trace Performance Metrics Domain Agent (PMDA). |
| Displays the current value of a performance metric. |
6.10. PCP metric groups for XFS
Metric Group | Metrics provided |
| 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. |
| Range of metrics regarding the allocation of objects in the file system, these include number of extent and block creations/frees. Allocation tree lookup and compares along with extend record creation and deletion from the btree. |
| 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. |
| Counters for directory operations on XFS file systems for creation, entry deletions, count of “getdent” operations. |
| 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. |
| Counters for the number of times that the operating system looked for an XFS inode in the inode cache with different outcomes. These count cache hits, cache misses, and so on. |
| 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. |
| 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. |
| Counts for the number of attribute get, set, remove and list operations over all XFS file systems. |
| 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. |
| 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. |
| Metrics regarding the operations of the XFS btree. |
| Configuration metrics which are used to reset the metric counters for the XFS stats. Control metrics are toggled by means of the pmstore tool. |
6.11. Per-device PCP metric groups for XFS
Metric Group | Metrics provided |
| 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. |
| Range of metrics regarding the allocation of objects in the file system, these include number of extent and block creations/frees. Allocation tree lookup and compares along with extend record creation and deletion from the btree. |
| 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. |
| Counters for directory operations of XFS file systems for creation, entry deletions, count of “getdent” operations. |
| 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. |
| Counters for the number of times that the operating system looked for an XFS inode in the inode cache with different outcomes. These count cache hits, cache misses, and so on. |
| 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. |
| 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. |
| Counts for the number of attribute get, set, remove and list operations over all XFS file systems. |
| 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. |
| 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. |
| Metrics regarding the operations of the XFS btree. |