● PCP vs vmstat,ps,top etc
● PCP’s data collection agents
● Setting up PCP, Vector
o Video recording of setup and quick demo
PCP - Performance Co-Pilot
Performance Co-Pilot (PCP) is a framework and services to support system-level performance monitoring and
It allows centralized monitoring of distributed processing (e.g. in a cluster or webserver farm environment), or on large
systems with lots of moving parts.
PCP vs vmstat, ps, top
Each of these standard tools:
● collects a predefined mix of metrics
● understands the syntax and semantics of the various "stat" files below /proc
● involves no IPC(Inter-Process-Communication) or context switches associated with synchronous IPC
● only monitors the local host and cannot monitor a remote host
● cannot replay historical data
Each of these standard tools could also be re-implemented over the PCP protocols, in which case they would each:
● collect a predefined mix of metrics
● be insulated from how the data is extracted, and have access to the explicit data semantics over the PCP APIs
● optionally (and typically) involve IPC and context switches associated with synchronous IPC
● monitor the local host or a remote host with equal ease and no application program changes
PCP - Data collection Agents
Kernel agents for each supported platform. The Linux agent exports a broad range
of performance data from kernels since 2.0.36 or later. This includes coverage of
activity in the areas of: CPU, disk, memory, swapping, network, NFS, RPC,
filesystems, and per-process statistics.
Other agents export performance data from: Databases, Log files, Web servers,
Mail systems, Cisco routers, Search engines, Cluster infrastructure, Application
instrumentation (including the JVM) and the PCP infrastructure itself.
Vector is an open source, extremely lightweight, host-level performance monitoring framework, which
exposes system and application metrics to browser in near real-time.
● It leverages Performance Co-Pilot (PCP), layering on top a flexible and user-friendly UI.
● The UI polls metrics at up to 1 second resolution, rendering the data in completely configurable
dashboards that simplify cross-metric correlation and analysis.
● PCP’s stateless model makes it lightweight and robust. Its overhead on hosts is negligible as
clients are responsible for keeping track of state, sampling rate, and computation.
● Additionally, metrics are not aggregated across hosts or persisted outside of the user’s browser
session, keeping the framework light.
● Vector requires only a local browser and PCP installed on the host which needs to be monitored.
No intermediate collector, server, or database infrastructure is required.
Setting Up PCP + Vector
Vector depends on version 3.10 or higher, the packages currently available on most Linux distro repositories would not
suffice. Until newer versions are available in the repositories, below two options are available
● install PCP from binary packages made available by the PCP development team on: ftp://ftp.pcp.io/
● Or build it from source. - https://gist.github.com/sandeepkunkunuru/0a0817f4b6bf4423c5ed
o Video recording of setup and quick demo is at - http://youtu.be/XsUBK-irrUs