Performance Co-Pilot 2.5.0 review

by on

Performance Co-Pilot (PCP) is a framework and services to support system-level performance monitoring and performance management.

License: LGPL (GNU Lesser General Public License)
File size: 1355K
Developer: Mark Goodwin
0 stars award from

Performance Co-Pilot (PCP) is a framework and services to support system-level performance monitoring and performance management.

The services offered by PCP are especially attractive for those tackling harder system-level performance problems. For example this may involve a transient performance degradation, or correlating end-user quality of service with platform activity, or diagnosing some complex interaction between resource demands on a single system, or management of performance on large systems with lots of "moving parts".

The distributed PCP architecture makes it especially useful for those seeking centralized monitoring of distributed processing (e.g. in a cluster or webserver farm environment), especially where a large number hosts are involved.

Here are some key features of "Performance Co Pilot":
A single API for accessing the performance data that hides details of where the data comes from and how it was captured and imported into the PCP framework.
A client-server architecture allows multiple clients to monitor the same host, and a single client to monitor multiple hosts (e.g. in a Beowulf cluster). This enables centralized monitoring of distributed processing.
Integrated archive logging and replay so a client application can use the same API to process real-time data from a host or historical data from an archive.
The framework supports APIs and configuration file formats that enable the scope of performance monitoring to be extended at all levels.
An "plugin" framework (libraries, APIs, agents and daemon) to collect performance data from multiple sources on a single host, e.g. from the hardware, the kernel, the service layers, the application libraries, and the applications themselves.
Libraries and sample implementations encourage the development of new "plugins" (or agents) to capture and export the performance data that matters in your application environment, along side the other generic performance data.
An endian-safe transport layer for moving performance metrics between the collector and the monitoring applications over TCP/IP. This means an IRIX desktop with PCP can monitor one or more Linux systems with the Open Source release of PCP installed.
A Linux agent that exports a broad range of performance data from most kernels circa 2.0.36 (RedHat 5.2) or later. This includes coverage of activity in the areas of: CPU, disk, memory, swapping, network, NFS, RPC, filesystems and all the per-process statistics.
Other agents export performance data from:
Web server activity logs
arbitrary application-level tracing (via a PCP trace library)
Cisco routers
the mail queue
the PCP infrastructure itself
Assorted simple monitoring tools that use the PCP APIs to retrieve and display either arbitrary performance metrics, or specific groups of metrics (as in pmstat a cluster-aware vmstat lookalike).
The PCP inference engine supports automated monitoring through a rule-based language and interpreter that performs user-defined actions when rule predicates are found to be true.

Performance Co-Pilot 2.5.0 keywords