Google Summer of Code

April 26, 2016    gsoc pcp

I am very excited while writing this, my proposal for gsoc has been accepted and I will be a part of the Google Summer of Code this year. I will be contributing to Performance Co-Pilot organisation. This post is about the summary of what is PCP? and about the project I will be working on this summer.

PCP - Performance Co-Pilot

PCP is an open source framework for system performance and analysis. It is widely used by various open source communities as well as industry system analysists.

How it is different from existing analysis tools?

The existing performance analysis tools such as ps,top, pidstat, mpstat provide basic analysis on the local host machine. PCP has rich performance metrics which can be used for analysis and PCP also supports distributed architecture so that the remote machines can also be monitored and their performance can be analysed. Other thing is that all of these tools only show current state analysis whereas pcp can also play analysis over historical data.

More information about PCP can be found here.

Console version of PCP tools.

There are several widely used simple tools for monitoring system information like htop, pidstat, mpstat. These tools do not consider the historical data and thus fail to analyse such information. Also these tools monitor only for the local processes which restricts them from using on remote servers. Performance Co-Pilot provides rich APIs to access historical information about local as well as remote processes (along with other system-wide metrics) and thus it can be used to solve the problem. The project consist of making these tools (htop, pidstat, mpstat) to be able to get data from PCP APIs.
The important steps in this will be:

  1. Understanding the sources of performance monitoring
  2. Read documentation for the PCP to get familiar with the code
  3. Implement sample client which use Performance Metric APIs
  4. Implementation and testing of pcp client function for htop
  5. mplementation and testing of pcp client function for pidstat and mpstat

I’ll be posting update of my work on my blog as well as on the pcp mailing list. Stay tuned for more posts.

That’s all folks.

blog comments powered by Disqus