


gr_monitor(1)                                       gr_monitor(1)


NNAAMMEE
       gr_monitor - Graphical Process Monitor V0.53

SSYYNNOOPPSSIISS
       ggrr__mmoonniittoorr  [-host h] [-sleep n] [-noskip] [-stdin] [-per-
       row n] [-gap x] [-witdh n] [-height n] [-geometry] [-angle
       n]  [-dolly  n]  [-zoom  x] [-zhorz x] [-zvert x] [-color]
       [-nolight] [-fog] [-onebuf] [-rotate] [-verbose] [-v]

       ggrr__ggaatthheerr [-sleep n]

DDEESSCCRRIIPPTTIIOONN
       GGrr__MMoonniittoorr displays information about  processes  resident
       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 group by username.
       Each username grouping sits on its own little plinth.

       This program is also quite useful for hogging CPU.

       There are controls  for  translating,  rotating,  scaling,
       lighting and fog effects.

       Gr_monitor  consists  of  two  components:  ggrr__mmoonniittoorr and
       ggrr__ggaatthheerr..  Gr_gather gathers data from the Linux  process
       file system.  Gr_monitor receives this info via a pipe and
       displays in in a X11 Mesa or X11 OpenGL window.

       Gr_monitor may optionally use rsh to run  gr_gather  on  a
       remote host.

       The  gr_monitor input data format is easily understood and
       could be used to display other kinds of data  without  any
       modification.

       Gr_monitor  is  something  I hacked together to learn more
       about OpenGL, SGI's open standard for 2D/3D graphics.  The
       whole  thing  was  developed  under  Linux  using the Mesa
       OpenGL look-a-like library.


   OOPPTTIIOONNSS
       _-_h_o_s_t _h_o_s_t_n_a_m_e
              Gr_monitor will use rsh to  fire  up  gr_gather  on
              another host.  Data will be piped back to the local
              host for display.

       _-_s_l_e_e_p _s_e_c_o_n_d_s
              Time to sleep between updates.  The  default  is  5
              seconds  (if  you  manually  invoke gr_gather, it's
              default is one second).  A sleep of 0  (zero)  will
              cause  gr_monitor to start up halted (the space bar
              will single step the display).




MH                          Gr_Monitor                          1





gr_monitor(1)                                       gr_monitor(1)


       _-_n_o_s_k_i_p
              Normally data will be skipped if the renderer can't
              keep  up  with  it.  When playing back pre-recorded
              data via the -stdin option, you may need to  switch
              off skipping.

       _-_s_t_d_i_n Take  data in gr_gather format from standard input.

       _-_p_e_r_r_o_w _n
              If a row exceeds this many  processes,  a  new  row
              will be started.

       _-_g_a_p _x Space between plinths (a real number).

       _-_w_i_d_t_h _n
              Display width in pixels.

       _-_h_e_i_g_h_t
              Display height in pixels.

       _-_g_e_o_m_e_t_r_y
              Normal X11 geometry spec.

       _-_a_n_g_l_e _n
              Tilt on X axis in degrees.

       _-_d_o_l_l_y _n
              Distant  to translate in the z axis (dolly the cam-
              era).

       _-_z_o_o_m _x
              Projection zoom factor.

       _-_z_h_o_r_z _x
              Horizontal zoom factor.

       _-_z_v_e_r_t _n
              Vertical zoom factor.

       _-_c_o_l_o_r Use own color map.  Colors will look better.  Worth
              a look.

       _-_n_o_l_i_g_h_t
              Turn off lighting effects.

       _-_f_o_g   Turn on fog effects.

       _-_o_n_e_b_u_f
              Use single buffering of the display image.

       _-_r_o_t_a_t_e
              Start up rotating.





MH                          Gr_Monitor                          2





gr_monitor(1)                                       gr_monitor(1)


       _-_v_e_r_b_o_s_e
              or  _-_v  Provides  some feedback to stderr.  Maximum
              output is generated by -verbose.  Alternatively the
              -v option will only report skipped data sets due to
              the monitor not being able  to  keep  up  with  the
              gatherer,  which  is useful when trying to select a
              good -sleep value.


GGRR__MMOONNIITTOORR WWIINNDDOOWW
       The following controls are  available  in  the  gr_monitor
       window.   The  middle  mouse  button will bring a keyboard
       quick reference.  The right mouse  button  will  bring  up
       another  small menu duplicating some of the keyboard func-
       tions.  When pressing keys beware of excessive type-a-head
       (count your key presses).

       Here is a summary of the keys and what they do:


       _E_S_C    Exits gr_monitor.


       _?      Dump a key summary on stdout.


       _p_/_P    Increase or decrease the items per row guideline by
              one (default 12).  Handy if you don't like the lay-
              out.


       _a_/_A    Zoom in or out.


       _x_/_X _y_/_Y _z_/_Z
              Rotation  about  the specified axis.  Lowercase +ve
              rotation.  Uppercase -ve rotation.


       _i_/_I _j_/_J _k_/_K
              Translation along the specified axis (i,j,k implies
              x,y,z).


       _r      Toggles rotation.


       _0 _1 _2 _3 _4 _5 _6 _7 _8 _9
              Selects a bar type.  Can only select from the first
              10 bar types.


       _s_/_S    Scale selected bar type up or  down.   Lowercase  =
              up. Uppercase = down.



MH                          Gr_Monitor                          3





gr_monitor(1)                                       gr_monitor(1)


       _n _o_r _N Scale  selected bar type by 1.0 (i.e. reset scale).


       _o _o_r _O Turn off selected bar type.


       _l _o_r _L Toggle lighting.


       _f _o_r _F Toggle fog effects.


       _h _o_r _H Halt the display.


       _S_P_A_C_E  Step one frame through a halted display.


EENNVVIIRROONNMMEENNTT
       GGRR__GGAATTHHEERR__CCOOMMMMAANNDD can contain an  alternative  command  to
       run instead of gr_gather.


DDAATTAA FFOORRMMAATT
       The  pipe will contain data sets one after the other, each
       data set will contain:
          a title line
          nitems nvalues valuename1 valuename2 valuename3 ...
          item ID
          group ID
          value1 value2 value3 ...

       For example:
          Selected processes on sputnik3
          4 3 CPU RSS MEM
          100
          michael
          0.000000 0.043189 0.000000
          196
          root
          0.166667 0.559287 0.178711
          250
          michael
          2.083333 1.768806 0.609375
          275
          michael
          0.000000 0.054172 0.021484


SSEEEE AALLSSOO
       ttoopp(1) ppss(1)






MH                          Gr_Monitor                          4





gr_monitor(1)                                       gr_monitor(1)


BBUUGGSS AANNDD LLIIMMIITTAATTIIOONNSS
       Please send any bug reports to michael@actrix.gen.nz.

       This program is an absolute hog.  Gr_Monitor is very  slow
       on  a  typical 486 with a non-accelerated graphics card (I
       don't know if an accelerated card would help).  But it  is
       fun  to  watch, especially on a machine where processes or
       users are coming and going. It is very useful for spotting
       hogs and uninhibited growth.

       For  some  reason,  in  the  standard color map mode under
       Mesa-Linux, the background  clears  to  white  instead  of
       black.

       If  I knew more about OpenGL it would probably be a better
       utility.


AAUUTTHHOORR
       Michael Hamilton (michael@actrix.gen.nz)


AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS
       Brian Paul (brianp@ssec.wisc.edu) is the author of the The
       Mesa 3-D graphics library.

       Linux   gr_gather   is  based  on  pprrooccppss  ttoopp  by  Branko
       Lankester, Roger Binns, by Michael K. Johnson.

       Gr_monitor is  based  on  a  cut  up  of  the  GLUT  exam-
       ple/scube.c  which  rotates  a  cube above a checker board
       with shadows, lighting etc.  Thanks to GLUT author Mark J.
       Kilgard (mjk@sgi.com), scube author David G Yu.

       Thanks  are  also  due  to  all those people who have made
       Linux so great.


LLIICCEENNCCEE
       (c) Copyright 1995, Michael Hamilton.

       I don't really know whether I  have  any  rights  on  this
       work,  but your rights are restricted by the copyrights on
       the work on which it is based (so what ever they say  goes
       for me too):

       Gr_gather  is  covered  by the same licence as pprrooccppss:: the
       GNU GENERAL PUBLIC LICENCE.

       For gr_monitor you have the same rights as stated  in  the
       original SGI copyright:

       (c) Copyright 1993, 1994, Silicon Graphics, Inc.




MH                          Gr_Monitor                          5





gr_monitor(1)                                       gr_monitor(1)


       ALL RIGHTS RESERVED

       Permission to use, copy, modify, and distribute this soft-
       ware for any purpose and without fee  is  hereby  granted,
       provided  that  the  above  copyright notice appear in all
       copies and that both the copyright notice and this permis-
       sion  notice  appear in supporting documentation, and that
       the name of Silicon Graphics, Inc. not be used  in  adver-
       tising  or  publicity  pertaining  to  distribution of the
       software without specific, written prior permission.

       THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO  YOU
       "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED
       OR OTHERWISE, INCLUDING WITHOUT LIMITATION,  ANY  WARRANTY
       OF  MERCHANTABILITY  OR  FITNESS FOR A PARTICULAR PURPOSE.
       IN NO EVENT SHALL SILICON GRAPHICS, INC.  BE LIABLE TO YOU
       OR  ANYONE ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDI-
       RECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY  DAMAGES
       WHATSOEVER,  INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT,
       LOSS OF USE, SAVINGS OR REVENUE, OR THE  CLAIMS  OF  THIRD
       PARTIES,  WHETHER  OR NOT SILICON GRAPHICS, INC.  HAS BEEN
       ADVISED OF THE POSSIBILITY OF SUCH  LOSS,  HOWEVER  CAUSED
       AND  ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CON-
       NECTION WITH THE POSSESSION, USE OR  PERFORMANCE  OF  THIS
       SOFTWARE.

       US Government Users Restricted Rights Use, duplication, or
       disclosure by the Government is  subject  to  restrictions
       set   forth   in   FAR   52.227.19(c)(2)  or  subparagraph
       (c)(1)(ii) of the Rights in Technical  Data  and  Computer
       Software clause at DFARS 252.227-7013 and/or in similar or
       successor clauses in the FAR or the DOD or NASA  FAR  Sup-
       plement.   Unpublished--  rights  reserved under the copy-
       right laws of the United States.   Contractor/manufacturer
       is Silicon Graphics, Inc., 2011 N.  Shoreline Blvd., Moun-
       tain View, CA 94039-7311.

       OpenGL(TM) is a trademark of Silicon Graphics, Inc.



















MH                          Gr_Monitor                          6


