Gr_Monitor - Graphical Process Monitor V0.55

Gr_Monitor continuously displays information about processes resisdent
on a UNIX system.  For each process it displays a 3D bar graph of CPU
consumed, memory consumed, resident set size, and elapsed time. The
processes are grouped by username. Each username grouping sits on its
own little plinth.

Currently works on Linux and IRIX, with some support for other OpenGL
UNIX platforms via an awk script.

Since much of the code was cut out of other programs, it lacks some
consistency in both style and structure.

To install the precompiled binaries:

  1) Select Makefile (linux) or Makefile.SGI (IRIX) and set the 
     desired locations.  The default will put things under /usr/local:
	/usr/local/bin/gr_monitor
	/usr/local/bin/gr_gather
	/usr/local/man/man1/gr_monitor.1
	/usr/local/man/man1/gr_gather.1 -> /usr/local/man/man1/gr_monitor.1

  2) make -f Makefile install 

  Or copy the binaries gr_monitor and gr_gather to somewhere on your path.


To build:

  0) Obtain the Mesa or OpenGL and GLUT libraries.
       See http://www.ssec.wisc.edu/~brianp/Mesa.html
            ftp://iris.ssec.wisc.edu/pub/Mesa/
       See http://www.sgi.com/Technology/openGL/opengl.html
            ftp://sgigate.sgi.com/pub/opengl/xjournal/GLUT/

  1) make             # on SGI use make -f Makefile.SGI 

  2) make install


For platforms other than Linux and IRIX, where you have OpenGL, but
need a gather utility, see the gr_gather_sgi.nawk script and modify it
to your purposes.

Changes since V0.54
 * Updated the procps code.
 * Reduced the default scale a little - bars were too tall.

Changes since V0.53
 * Used a newer version of procps - the old one was causing it to crash
   after a while.
 * Makefile for Linux was hacked to cope with working with a combo of
   Caldera and RedHat-contrib install directories for Mesa and Glut.

Changes since V0.52

 gr_monitor
 * Fixed unecessary sleep for one second, which should make it more
   responsive.
 * Added gr_monitor.man formatted verion of gr_monitor.1 for SGI systems
   that haven't installed a manual page formatter.
 
 gr_gather_sgi
 * Stop outputting errors when a process file goes out of existance
   before we get a look at it.

 gr_gather
 * Added procps code to make the code self-contained.
 * Modified for Linux 2.0.

Changes since V0.51

 gr_monitor
 * now uses "rsh -n" with -host.
 * now has -v as well as -verbose.  -v only warns about skipping data.
 * GR_MONITOR_COMMAND environment var renamed to GR_GATHER_COMMAND.
 * path to default gr_gather is now compiled in.

 gr_gather
 * gr_gather_sgi.c written to provide gr_gather for IRIX 5.x.
 * root is now reported as "{ root }" to make root sort last.

Changes since V0.5

 gr_monitor
 * Fixed memory leak by linking replacing GLUT 2.0 with GLUT 2.2.
 * -sleep 0 and the (h)alt key now works.
 * rsh option -host now works without requiring -sleep 0
 * now skips over data if we can't keep up with it (-noskip turns
   this off for pre-recorded data).
 * -verbose option provides feedback to stderr (useful on slow machines).
 * Fixed update/halt/step/get-data/refresh-display logic.

 gr_gather
 * Now produces data unbuffered (which means it's up to date). 
 * Includes date time in the title for each data set.
 * RSS is now placed before Memory as it's likely to be shorter on the graph.
 * PID is now printed 5 wide with leading spaces for correct sorting.

---
Michael Hamilton (michael@actrix.gen.nz)
May 1995
Happy Linux user since 0.11
