==========================================================================

Changes made on March. 21, 1994,
  1. Removed all NXDrawBitmap code from Monitor.m
  2. Fixed all new compiler warnings
  3. Fixed code to look up vm statistis, uses vm_statitics instead
     of looking around in the kernel.
  4. Colorized the Application
  5. Moved the .nib file into an .lproj directory.
  6. Cleaned up the interface a bit.
  7. Fixed up defaults database code related to Statitics window
     placement. Use setFrameAutosaveName: instead of old method.

  Vince DeMarco
  SHL SystemHouse Inc.
  Object Technology Center.
  (303)449-2870
  vdemarco@bou.shl.com

==========================================================================

Changes made on Dec. 19, 1993, so Monitor.app runs on 3.x (Intel machines
and Motorola):

  1. Ran 'make depend' from PB to clean up Makefile.dependencies.
  2. Fixed import location to mach/vm_statistics.h in Monitor.h.
     Fixed import location to defaults/defaults.h in Monitor.m.
  3. Commented out #define KERNEL in Monitor.h to avoid re-defining
     struct tm in time.h.
  4. Changed NXImageBitmap() to NSDrawBitmap() in Monitor.m, fixing its
     arguments as well.  Pure guesses as to values of miniBpp (bits per
     pixel), miniBpr (bytes per row), and miniColorSpace is used
     uninitialized.  (That gives a compiler warning.)
  5. Initialized variables and parenthesized in StripChart.m to avoid
     compiler warnings.

Things I didn't do in this update:

  1. Replace the obsolescent NSDrawBitmap() with methods from the
     NXBitmapImageRep class.
  2. Colorize the App.
  3. Move the .nib file into an .lproj directory.

Remember to set Monitor.app/Monitor's group to kmem (use chgrp) and do
a "chmod g+s Monitor" after you install it.

   Dick Silbar
   WhistleSoft, Inc.
   (505)-662-7309
   silbar@cantina.lanl.gov

==========================================================================


ORIGINAL README: Roy Mongiovi, Georgia Tech

This is Monitor, a program which takes the place of the Sun's perfmon and
perfmeter for the NeXT under version 1.0 of the operating system.

Monitor can display up to 30 different statistics and combinations of
statistics in a window, plus one statistic in the icon.

I wrote this without access to the source code, so it's possible that my
guesses are incorrect about the meaning/interpretation of some of the
values being displayed.  If anyone who know more about this than I do sees
something wrong, please let me know.  If anyone knows of a statistic that
is not being reported, please let me know.

I started by using "nm" to obtain a list of all non-text type symbols from
/sdmach.  I then searched /usr/include for all occurrences of any of these
variable names.  I edited this list down to the entries that I felt were
really definitions/references to the variables from /sdmach.  This list is
in the file "namelist".

Then I wrote the program "sample.c" to read and display the current values
of variables that I felt contained statistics.  I found that many of the
standard Unix statistics are not maintained by Mach, or are not updated in
the same fashion as Unix.  A bit of experimentation with this progrom led
me to the list of statistics that I incorporated into Monitor.

What statistics have been selected for display, what is currently on screen,
the size and position of the window, etc. are all saved in the defaults
database with the owner "Monitor."  What statistics have been selected is
stored as a concatenated string of the titles of the statistics.  This string
tends to get kind of long, and demonstrates a bug in the dread command.
"dread -l" will memory fault when it tries to display the Monitor defaults.
The file "defaults" is a list of commands that you can "source" with csh
to display the current default settings.

When scrolling the statistics, Monitor construct a DPS user path in order
to get some speed out of the display update, but it can still be kind of
slow.  To help alleviate this, the statistics window can be closed.  When
closed, it continues to accumulate information but does not write it to the
offscreen window.  When you click the "Show" button to bring the window back
onscreen it redisplays the entire window and the accumulated values show up.
The icon, of course, always displays the statistic it has been selected for
(of course, since it's normally a much smaller window this takes much less
time).

I've found it very interesting to watch how different applications use up
the machine.  Hopefully with this application people (both NeXT and third-
party vendors) can do a better job of optimizing the impact their programs
have on the system.

P.S.  Remember to set its group to kmem and do a "chmod g+s Monitor" after
      you install it.
--
Roy J. Mongiovi     Systems Support Specialist     Office of Computing Services
Georgia Institute of Technology	  Atlanta, Georgia  30332-0275   (404) 894-4660
	uucp: ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!roy
	ARPA: roy@prism.gatech.edu
