README
This is the pcpViewer README file.
Not much to say at present as the project is actually a "pet project".
Pre-requisite
You NEED to install the Performance Co-Pilot library from SGI to compile this software, so have a look at: http://oss.sgi.com/projects/pcp/
You NEED an OpenInventor implementation too, so either choose the reference implementation at : http://oss.sgi.com/projects/openinventor/ Or prefer the Coin implementation at : http://www.coin3d.org/
You NEED the toolkit hanlder for OpenInventor: SoQt, SoXt, SoGtk... See http://www.coin3d.org/
Compiling
Run configure with the necessary option to choose your toolkit, i.e. for Qt:
./configure --with-soqt
Or for Motif :
./configure --with-soxt
Run make.
Enjoy.
Tips and tricks
To see all metrics exported by your pcp daemon:
pminfo
To see value of a specific metric:
pminfo -f metricname (ex: hinv.cpu.clock)
If you want to test pcpview with data from remote host edit main.cpp.in, go to line 241 and change to :
if ((sts = pmNewContext(PM_CONTEXT_HOST,"hostname_to_monitor")) < 0) {
Is that all ?
As you will notice, pcpview is actually not much more than a 3D Xosview, but i think that there is really potential. The pcp library export a vast number of metrics from a system, so many other data could be used. Another thing: pcp can be accessed remotly, meaning that we could create a system to gather data from many hosts without having the application running everywhere (still the pcp daemon that actually is not satisfying on security look).
My short term plan (6 month) are:
- Config file!!! Will permit to choose a remote host and arbitratry pcp metrics
- Possibility to choose between bargraph or graphs
- Better handling of texts when zooming out
- Better handling of positioning
- Auto scaling of values
- Specific sensors for standard metrics (CPU, mem, netdev, disk...)
Medium term plan:
- Get any data from any host running pcp
- Graph customization: ex, get CPUs of all host in a cluster on the same graph
- Muliple graphs with "auto-zooming" function
- navigator of pcp metrics to choose what to add to a graph
- "Text sensors" for displaying text metrics
Long term plan:
- Support for other sources of data (SNMP, WBEM...)
- Xinerama handling
- PCP archives support: replay any metrics, aka VCR like with ffw, rwd...
Want to help ?
Hey, it's OSS, so first of all feel free to play with it like i did... However i would greatly appreciate your help as i hadn't coded c++ since 7 years before starting this projects. I know that debuging in it is actually an HORROR, so getting help from a better c++ coder would be greatly appreciated. Feel free to contact me (o_dot_tarnus__at__free_dot_fr) if you would like to participate.
Sorry for my english, i am french...
