System-level performance analysis toolkit

The Performance Co-Pilot is a toolkit designed for monitoring and managing system-level performance. These services are distributed and scale to accommodate very complex system configurations and performance problems.

PCP supports many different platforms, including Linux, Mac OS X, Solaris and Windows. From a high-level PCP can be considered to contain two classes of software utility:

  1. PCP Collectors ⋅⋅⋅These are the parts of PCP that collect and extract performance data from various sources, e.g. the operating system kernel.

  2. PCP Monitors ⋅⋅⋅These are the parts of PCP that display data collected from hosts (or archives) that have the PCP Collector installed. Many monitor tools are available as part of the core PCP release, while other (typically graphical) monitoring tools are available separately in the pcp-gui or grafana-pcp packages.

The PCP architecture is distributed in the sense that any PCP tool may be executing remotely. On the host (or hosts) being monitored, each domain of performance metrics, whether the kernel, a service layer, a database management system, a web server, an application, etc. requires a Performance Metrics Domain Agent (PMDA) which is responsible for collecting performance measurements from that domain. All PMDAs are controlled by the Performance Metrics Collector Daemon (PMCD) on the same host.

Client applications (the monitoring tools) connect to PMCD, which acts as a router for requests, by forwarding requests to the appropriate PMDA and returning the responses to the clients. Clients may also access performance data from a PCP archive for retrospective analysis.

lightbulb_outline View ideas list


  • c
  • redis
  • grafana
  • rest
  • libuv


comment IRC Channel
email Mailing list
mail_outline Contact email

Performance Co-Pilot 2020 Projects

  • Miroslav Foltýn
    Extending the Grafana Integration of Performance Co-Pilot
    Goal of this project is to improve and build upon existing Grafana intergration for Performance Co-Pilot. Developing a reactive dashboard and using...
  • Ashwin Nayak U
    Improving the pbench integration
    This project involves advancing the performance analysis capabilities provided by the PCP integration within the pbench benchmarking and analysis...
  • Yushan Zhang
    Timeseries query language extension
    The Performance Co-Pilot (PCP) timeseries are series of time-stamped values gathered from hosts making performance data available. Clients obtain...