pcp
[Top] [All Lists]

hotproc rfc

To: pcp@xxxxxxxxxxx
Subject: hotproc rfc
From: Martins Innus <minnus@xxxxxxxxxxx>
Date: Fri, 09 May 2014 15:12:52 -0400
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
Hello,
I have started looking into reviving the hotproc pmda. Before I get too far into it, I wanted to make sure no one else was looking at it and if my approach looks reasonable.

Attached are both modified source files and a patch to linux_proc of a git checkout around the time of roughly 3.9.2. This is very much a proof of concept at this point, memory allocation could likely be optimized, no error checking, qa, etc.

My intent was to try to factor this into the standard linux_proc pmda to make maintaining it easier. My goal was minimal code changes, and piggyback as much as possible onto existing code to do the data fetches into /proc. To do this I replicated the metrics from root_proc that seemed to be reasonable to track on a hotproc basis and just offset the cluster #. This could be automated with an awk script as originally done in hotproc.

I have done VERY minimal testing, but this should compile and at this point present a duplicate of the proc metrics under the hotproc namespace. My plan was then to start importing the config file parsing from the old hotproc and do the pid filtering based on those parameters.

I haven't yet really thought about all the extra stuff the hotproc pmda gave you in terms of cpu cycles consumed by un-tracked processes, etc. At this point my use case is just to present non-root, high cpu processes but I figure trying to get as much of the original hotproc functionality would be desirable. Hopefully these can be added in as I progress.

I am not tied at all to the approach as implemented. I just wanted to get something up and running as quickly as possible to get a feel for the level of effort required. Feel free to suggest better ways of doing this. I have many more questions once I can get some direction on the way to proceed.

Thanks

Martins

Attachment: hotproc_zip
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>