[Orca-checkins] rev 179 - in trunk/orca: . docs

blair at orcaware.com blair at orcaware.com
Fri Jan 3 15:08:23 PST 2003


Author: blair
Date: 2003-01-03 15:08:10 -0800 (Fri, 03 Jan 2003)
New Revision: 179

Modified:
   trunk/orca/HACKING
   trunk/orca/INSTALL
   trunk/orca/TODO
   trunk/orca/configure
   trunk/orca/configure.in
   trunk/orca/docs/ARCHITECTURE
   trunk/orca/docs/REQUIREMENTS
Log:
* HACKING,
* INSTALL,
* TODO,
* configure.in,
* configure,
* docs/ARCHITECTURE,
* docs/REQUIREMENTS:
  Replace all tabs with spaces.


Modified: trunk/orca/configure
==============================================================================
--- trunk/orca/configure	(original)
+++ trunk/orca/configure	2003-01-03 15:08:21.000000000 -0800
@@ -2937,8 +2937,8 @@
 MKDIR="$config_dir/mkinstalldirs"
 
 #--------------------------------------------------------------------
-#	Generate the Makefiles and shell scripts with the
-#	variable substitutions.
+#       Generate the Makefiles and shell scripts with the
+#       variable substitutions.
 #--------------------------------------------------------------------
 if test "$BUILD_ORCALLATOR" = yes; then
   ORCALLATOR_OUTPUT="orcallator/orcallator.cfg

Modified: trunk/orca/configure.in
==============================================================================
--- trunk/orca/configure.in	(original)
+++ trunk/orca/configure.in	2003-01-03 15:08:22.000000000 -0800
@@ -425,8 +425,8 @@
 AC_SUBST(MKDIR)
 
 #--------------------------------------------------------------------
-#	Generate the Makefiles and shell scripts with the
-#	variable substitutions.
+#       Generate the Makefiles and shell scripts with the
+#       variable substitutions.
 #--------------------------------------------------------------------
 if test "$BUILD_ORCALLATOR" = yes; then
   ORCALLATOR_OUTPUT="orcallator/orcallator.cfg
@@ -439,25 +439,25 @@
 fi
 
 AC_OUTPUT(Makefile
-	  config/PerlHead1
-	  config/PerlHead2
-	  lib/Makefile
-	  packages/Makefile
-	  src/Makefile
-	  src/orca.pl
-	  $ORCALLATOR_OUTPUT
-	  docs/Makefile
-	  contrib/Makefile
-	  contrib/rotate_orca_graphs/Makefile
-	  contrib/rotate_orca_graphs/rotate_orca_graphs.sh
-	  contrib/orca_services/Makefile
-	  contrib/orca_services/orca_services.cfg
-	  contrib/orca_services/orca_services.pl
-	  contrib/orca_services/orca_services_running.pl
-	  contrib/orca_services/restart_orca_services.sh
-	  contrib/orca_services/start_orca_services.sh
-	  contrib/orca_services/stop_orca_services.sh
-	  contrib/orca_services/S99orca_services.sh)
+          config/PerlHead1
+          config/PerlHead2
+          lib/Makefile
+          packages/Makefile
+          src/Makefile
+          src/orca.pl
+          $ORCALLATOR_OUTPUT
+          docs/Makefile
+          contrib/Makefile
+          contrib/rotate_orca_graphs/Makefile
+          contrib/rotate_orca_graphs/rotate_orca_graphs.sh
+          contrib/orca_services/Makefile
+          contrib/orca_services/orca_services.cfg
+          contrib/orca_services/orca_services.pl
+          contrib/orca_services/orca_services_running.pl
+          contrib/orca_services/restart_orca_services.sh
+          contrib/orca_services/start_orca_services.sh
+          contrib/orca_services/stop_orca_services.sh
+          contrib/orca_services/S99orca_services.sh)
 
 echo
 echo "----------------------------------------------------------------"

Modified: trunk/orca/docs/ARCHITECTURE
==============================================================================
--- trunk/orca/docs/ARCHITECTURE	(original)
+++ trunk/orca/docs/ARCHITECTURE	2003-01-03 15:08:22.000000000 -0800
@@ -7,116 +7,116 @@
 
 Orca makes use of several internal classes (objects).  They are:
 
-	Orca::OpenFileHash
-	Orca::HTMLFile
-	Orca::DataFile
-	Orca::SourceDataFile is a subclass of Orca::DataFile
-	Orca::RRDFile is a subclass of Orca::DataFile
-	Orca::GIFFile
+        Orca::OpenFileHash
+        Orca::HTMLFile
+        Orca::DataFile
+        Orca::SourceDataFile is a subclass of Orca::DataFile
+        Orca::RRDFile is a subclass of Orca::DataFile
+        Orca::GIFFile
 
 Orca::OpenFileHash
 
-	This class provides a cache of open file descriptors to the
-	user of the class.  Upon creation, Orca::OpenFileHash is
-	told how many open file descriptors to cache.  When a file
-	descriptor is needed for a file, the filename is passed to
-	a method and if the descriptor is already open, then it
-	is given back to the caller, otherwise the file is opened
-	and the newly opened descritor is passed back.  If there are
-	already a maximum number of file descriptors open, then the
-	class closes the least recently used one.
-
-	This class is used by the Orca::SourceDataFile to keep
-	files open as Orca waits for file updates.
-
-	constructor	new
-	method		open
-	method		add
-	method		close
-	method		change_weight
-	method		list
-	method		select
-	method		get_fd
-	method		sysread_readline
-	method		is_open
-	hidden method	_close_extra
+        This class provides a cache of open file descriptors to the
+        user of the class.  Upon creation, Orca::OpenFileHash is
+        told how many open file descriptors to cache.  When a file
+        descriptor is needed for a file, the filename is passed to
+        a method and if the descriptor is already open, then it
+        is given back to the caller, otherwise the file is opened
+        and the newly opened descritor is passed back.  If there are
+        already a maximum number of file descriptors open, then the
+        class closes the least recently used one.
+
+        This class is used by the Orca::SourceDataFile to keep
+        files open as Orca waits for file updates.
+
+        constructor             new
+        method                  open
+        method                  add
+        method                  close
+        method                  change_weight
+        method                  list
+        method                  select
+        method                  get_fd
+        method                  sysread_readline
+        method                  is_open
+        hidden method           _close_extra
 
 Orca::HTMLFile
 
-	This class is basically a object file descriptor that can be
-	printed to.  This class does not provide the same level of
-	abstraction that IO::File does.  It only supports the print
-	method.
-
-	What this class does is upon creation of an HTML file prints a
-	standard amount of HTNL to the beginning of the file.  This
-	includes the standard <html> and other tags.  Then, when the
-	object is destroyed, the DESTORY method writes some trailing
-	HTML to the file.
-
-	constructor	new
-	method		print
-	hidden method	DESTROY
+        This class is basically a object file descriptor that can be
+        printed to.  This class does not provide the same level of
+        abstraction that IO::File does.  It only supports the print
+        method.
+
+        What this class does is upon creation of an HTML file prints a
+        standard amount of HTNL to the beginning of the file.  This
+        includes the standard <html> and other tags.  Then, when the
+        object is destroyed, the DESTORY method writes some trailing
+        HTML to the file.
+
+        constructor             new
+        method                  print
+        hidden method           DESTROY
 
 Orca::DataFile
 
-	Orca::DataFile is a class meant to be subclassed by other
-	classes.  What is does is cache file information, such as the
-	inode number, the device number of the mount point, the
-	files modification time (mtime).  The class can be instructed
-	to update the cache upon demand and to return the time when
-	the file was last stated.
-
-	The file information is cached to save file access and system
-	call overhead that can be prevented.
-
-	constructor	new
-	method		filename
-	method		file_dev
-	method		file_ino
-	method		file_mtime
-	method		last_stat_time
-	method		update_stat
-	method		status
+        Orca::DataFile is a class meant to be subclassed by other
+        classes.  What is does is cache file information, such as the
+        inode number, the device number of the mount point, the
+        files modification time (mtime).  The class can be instructed
+        to update the cache upon demand and to return the time when
+        the file was last stated.
+
+        The file information is cached to save file access and system
+        call overhead that can be prevented.
+
+        constructor             new
+        method                  filename
+        method                  file_dev
+        method                  file_ino
+        method                  file_mtime
+        method                  last_stat_time
+        method                  update_stat
+        method                  status
 
 Orca::SourceDataFile
 
-	Orca::SourceDataFile subclasses itself from Orca::DataFile.
-	This classes primary mission is to load and parse data from
-	source text files and hand it off.
-
-	constructor	new
-	method		is_current
-	method		next_load_time
-	method		get_column_names
-	method		get_date_column
-	method		add_plots
-	method		load_new_data
-	method		rrds
+        Orca::SourceDataFile subclasses itself from Orca::DataFile.
+        This classes primary mission is to load and parse data from
+        source text files and hand it off.
+
+        constructor             new
+        method                  is_current
+        method                  next_load_time
+        method                  get_column_names
+        method                  get_date_column
+        method                  add_plots
+        method                  load_new_data
+        method                  rrds
 
 
 Orca::RRDFile
 
-	constructor	new
-	method		name
-	method		rrd_update_time
-	method		add_gif
-	method		created_gifs
-	method		queue_data
-	method		flush_data
+        constructor             new
+        method                  name
+        method                  rrd_update_time
+        method                  add_gif
+        method                  created_gifs
+        method                  queue_data
+        method                  flush_data
 
 Orca::GIFFile
 
-	constructor	new
-	method		add_rrds
-	method		rrds
-	method		plot_ref
-	method		group
-	method		files_key
-	method		name
-	method		no_group_name
-	method		plot_end_time
-	method		plot
-	hidden method	_plot
-	hidden sub	_expire_string
+        constructor             new
+        method                  add_rrds
+        method                  rrds
+        method                  plot_ref
+        method                  group
+        method                  files_key
+        method                  name
+        method                  no_group_name
+        method                  plot_end_time
+        method                  plot
+        hidden method           _plot
+        hidden sub              _expire_string
 

Modified: trunk/orca/docs/REQUIREMENTS
==============================================================================
--- trunk/orca/docs/REQUIREMENTS	(original)
+++ trunk/orca/docs/REQUIREMENTS	2003-01-03 15:08:22.000000000 -0800
@@ -1,30 +1,30 @@
 Orca::SourceDataFile
 
-	Requirements
-		Manages one source data file
-		Knows when the data file will be updated
-		Only class to know the internal format of the file
-		Can have brand new data fields at any point in time
+        Requirements
+                Manages one source data file
+                Knows when the data file will be updated
+                Only class to know the internal format of the file
+                Can have brand new data fields at any point in time
 
-	Internal Storage
+        Internal Storage
 
-	Methods
+        Methods
 
 Orca::RRDFile
 
-	Requirements
-		Manages on RRD file
-		RRD file can contain data resulting from arbitrary math
-			expressions.
+        Requirements
+                Manages on RRD file
+                RRD file can contain data resulting from arbitrary math
+                        expressions.
 
-	Internal Storage
+        Internal Storage
 
-	Methods
+        Methods
 
 Orca::GIFFile
 
-	Requirements
+        Requirements
 
-	Internal Storage
+        Internal Storage
 
-	Methods
+        Methods

Modified: trunk/orca/HACKING
==============================================================================
--- trunk/orca/HACKING	(original)
+++ trunk/orca/HACKING	2003-01-03 15:08:22.000000000 -0800
@@ -1,4 +1,4 @@
-								-*-text-*-
+                                                        	-*-text-*-
 
 If you are contributing code to the Orca project, please read this
 first.

Modified: trunk/orca/TODO
==============================================================================
--- trunk/orca/TODO	(original)
+++ trunk/orca/TODO	2003-01-03 15:08:22.000000000 -0800
@@ -12,8 +12,8 @@
 using 7.3 gigabytes of storage.  I have 9 different orcallator.cfg for
 different classes of machines.
 
-* Orca:	Fix the "did exist and is now gone" email messages for source
-	files that are fine.
+* Orca: Fix the "did exist and is now gone" email messages for source
+        files that are fine.
 
 * Orca: Have an install option just for orcallator.se and not the
         Orca whole pacckage.
@@ -22,268 +22,268 @@
 
 * Orca: bug fix:
 
-	Fix the bug where if a legend is listed in a plot {} then the
-	number of colored boxes in the generated plot are more than
-	the data that appears there.
+        Fix the bug where if a legend is listed in a plot {} then the
+        number of colored boxes in the generated plot are more than
+        the data that appears there.
 
 * Orca: Load arbitrarily formatted source text files.
 
-	(If this is implemented, then the problems of source text files
-	not containing fields that orcallator.cfg is looking for and
-	Orca complaining will disappear).
-
-	Orca can only handle source text files that have data from one
-	source, such as a host, in a single file.  It cannot currently
-	handle source data like this:
-
-		# Web_server	time		hits/s	bytes/s
-		www1		933189273	1304	10324
-		www2		933189273	2545	40322
-
-	I plan on having Orca allow something like this in the configuration
-	file for each group.  To read the data above, something like this
-	would be defined.  Here the ChangeSubGroup and StoreMeasurement
-	would be macros or subroutines defined elsewhere for Orca users
-	to use.
-
-	group web_servers {
-	upon_open
-		# Do nothing special.
-
-	upon_new_data
-		while (<$fh>) {
-		  next if /^#/;
-		  my @line = split;
-		  next unless (@line == 4);
-		  my ($www, $time, $hits_s, $bytes_s) = @line;
-		  ChangeSubGroup($www);
-		  StoreMeasurement('Hits Per Second', $time, $hits_s);
-		  StoreMeasurement('Bytes Per Second', $time, $bytes_s);
-		}
-
-	upon_close
-		# Do nothing special.
-	}
-
-	For the standard orcallator.se output, something like this would
-	be used:
-
-	group orcallator {
-	find_files /usr/local/var/orca/orcallator/(.*)/orcallator-\d+-\d+\d+
-
-	upon_open
-		# Look for the first # line describing the data.
-		while (<$fh>)) {
-		  last if /^#/;
-		}
-		@ColumnsNames = split;
-		# Do some searching for the column with the Unix time in it.
-		my $time_column = ....;
-		splice(@ColumnNames, $time_column, 1);
-
-	upon_new_data
-		# Load the new data.
-		while (my $line = <$fh>) {
-		  my @line = split;
-		  next unless @line == @ColumnNames + 1;
-		  my ($time) = splice(@line, $time_column, 1);
-		  #
-		  StoreMeasurements($time, \@ColumnNames, \@line);
-		}
-
-	}
-
-	The code for each upon_* would be Perl code designed explicitly
-	for the type of source text.  This would allow the arbitrary
-	reading of text files, leaving the specifics to the user of
-	Orca.
-
-	This work would also include caching away the type of measurements
-	that each source data file provides.  Currently Orca reads the
-	header of each source text file for the names of the columns.
-	With the number of source text files I have, this takes a long
-	time.
+        (If this is implemented, then the problems of source text files
+        not containing fields that orcallator.cfg is looking for and
+        Orca complaining will disappear).
+
+        Orca can only handle source text files that have data from one
+        source, such as a host, in a single file.  It cannot currently
+        handle source data like this:
+
+                # Web_server    time         hits/s    bytes/s
+                www1            933189273    1304      10324
+                www2            933189273    2545      40322
+
+        I plan on having Orca allow something like this in the configuration
+        file for each group.  To read the data above, something like this
+        would be defined.  Here the ChangeSubGroup and StoreMeasurement
+        would be macros or subroutines defined elsewhere for Orca users
+        to use.
+
+        group web_servers {
+        upon_open
+                # Do nothing special.
+
+        upon_new_data
+                while (<$fh>) {
+                  next if /^#/;
+                  my @line = split;
+                  next unless (@line == 4);
+                  my ($www, $time, $hits_s, $bytes_s) = @line;
+                  ChangeSubGroup($www);
+                  StoreMeasurement('Hits Per Second', $time, $hits_s);
+                  StoreMeasurement('Bytes Per Second', $time, $bytes_s);
+                }
+
+        upon_close
+                # Do nothing special.
+        }
+
+        For the standard orcallator.se output, something like this would
+        be used:
+
+        group orcallator {
+        find_files /usr/local/var/orca/orcallator/(.*)/orcallator-\d+-\d+\d+
+
+        upon_open
+                # Look for the first # line describing the data.
+                while (<$fh>)) {
+                  last if /^#/;
+                }
+                @ColumnsNames = split;
+                # Do some searching for the column with the Unix time in it.
+                my $time_column = ....;
+                splice(@ColumnNames, $time_column, 1);
+
+        upon_new_data
+                # Load the new data.
+                while (my $line = <$fh>) {
+                  my @line = split;
+                  next unless @line == @ColumnNames + 1;
+                  my ($time) = splice(@line, $time_column, 1);
+                  #
+                  StoreMeasurements($time, \@ColumnNames, \@line);
+                }
+
+        }
+
+        The code for each upon_* would be Perl code designed explicitly
+        for the type of source text.  This would allow the arbitrary
+        reading of text files, leaving the specifics to the user of
+        Orca.
+
+        This work would also include caching away the type of measurements
+        that each source data file provides.  Currently Orca reads the
+        header of each source text file for the names of the columns.
+        With the number of source text files I have, this takes a long
+        time.
 
 * OS independent data gathering tools:
 
-	Many people have been asking for Orca for operating systems other
-	than Solaris, since orcallator.se only runs on Solaris hosts.
+        Many people have been asking for Orca for operating systems other
+        than Solaris, since orcallator.se only runs on Solaris hosts.
 
-	I've given this a little thought and one good solution to this is
-	use other publically available tools that gather host information.
-	The one that came to mind is top (ftp://ftp.groupsys.com/pub/top).
-	Looking at the configure script for top, it runs on the following
-	OSes:
-
-	    386bsd     For a 386BSD system
-	    aix32      POWER and POWER2 running AIX 3.2.5.0
-	    aix41      PowerPC running AIX 4.1.2.0
-	    aux3       a Mac running A/UX version 3.x
-	    bsd386     For a BSD/386 system
-	    bsd43      any generic 4.3BSD system
-	    bsd44      For a 4.4BSD system
-	    bsd44a     For a pre-release 4.4BSD system
-	    bsdos2     For a BSD/OS 2.X system (based on the 4.4BSD Lite system)
-	    convex     any C2XX running Convex OS 11.X.
-	    dcosx      For Pyramid DC/OSX
-	    decosf1    DEC Alpha AXP running OSF/1 or Digital Unix 4.0.
-	    dgux       for DG AViiON with DG/UX 5.4+
-	    dynix      any Sequent Running Dynix 3.0.x
-	    dynix32    any Sequent Running Dynix 3.2.x
-	    freebsd20  For a FreeBSD-2.0 (4.4BSD) system
-	    ftx        For FTX based System V Release 4
-	    hpux10     any hp9000 running hpux version 10.x
-	    hpux7      any hp9000 running hpux version 7 or earlier
-	    hpux8      any hp9000 running hpux version 8 (may work with 9)
-	    hpux9      any hp9000 running hpux version 9
-	    irix5      any uniprocessor, 32 bit SGI machine running IRIX 5.3
-	    irix62     any uniprocessor, SGI machine running IRIX 6.2
-	    linux      Linux 1.2.x, 1.3.x, using the /proc filesystem
-	    mtxinu     any VAX Running Mt. Xinu MORE/bsd
-	    ncr3000    For NCR 3000 series systems Release 2.00.02 and above -
-	    netbsd08   For a NetBSD system
-	    netbsd10   For a NetBSD-1.0 (4.4BSD) system
-	    netbsd132  For a NetBSD-1.3.2 (4.4BSD) system
-	    next32     any m68k or intel NEXTSTEP v3.x system
-	    next40     any hppa or sparc NEXTSTEP v3.3 system
-	    osmp41a    any Solbourne running OS/MP 4.1A
-	    sco        SCO UNIX
-	    sco5       SCO UNIX OpenServer5
-	    sunos4     any Sun running SunOS version 4.x
-	    sunos4mp   any multi-processor Sun running SunOS versions 4.1.2 or later
-	    sunos5     Any Sun running SunOS 5.x (Solaris 2.x)
-	    svr4       Intel based System V Release 4
-	    svr42      For Intel based System V Release 4.2 (DESTINY)
-	    ultrix4    any DEC running ULTRIX V4.2 or later
-	    umax       Encore Multimax running any release of UMAX 4.3
-	    utek       Tektronix 43xx running UTek 4.1
-
-	If somebody were to write a tie into top's source code that would
-	generate output every X minutes to a text file or even RRD files,
-	then Orca could put it together into a nice package.
-
-	In line with this di
-	(ftp://ftp.pz.pirmasens.de/pub/unix/utilities/), a freely
-	available disk usage program that could be used to generate disk
-	usage plots loaded by Orca.
+        I've given this a little thought and one good solution to this is
+        use other publically available tools that gather host information.
+        The one that came to mind is top (ftp://ftp.groupsys.com/pub/top).
+        Looking at the configure script for top, it runs on the following
+        OSes:
+
+            386bsd     For a 386BSD system
+            aix32      POWER and POWER2 running AIX 3.2.5.0
+            aix41      PowerPC running AIX 4.1.2.0
+            aux3       a Mac running A/UX version 3.x
+            bsd386     For a BSD/386 system
+            bsd43      any generic 4.3BSD system
+            bsd44      For a 4.4BSD system
+            bsd44a     For a pre-release 4.4BSD system
+            bsdos2     For a BSD/OS 2.X system (based on the 4.4BSD Lite system)
+            convex     any C2XX running Convex OS 11.X.
+            dcosx      For Pyramid DC/OSX
+            decosf1    DEC Alpha AXP running OSF/1 or Digital Unix 4.0.
+            dgux       for DG AViiON with DG/UX 5.4+
+            dynix      any Sequent Running Dynix 3.0.x
+            dynix32    any Sequent Running Dynix 3.2.x
+            freebsd20  For a FreeBSD-2.0 (4.4BSD) system
+            ftx        For FTX based System V Release 4
+            hpux10     any hp9000 running hpux version 10.x
+            hpux7      any hp9000 running hpux version 7 or earlier
+            hpux8      any hp9000 running hpux version 8 (may work with 9)
+            hpux9      any hp9000 running hpux version 9
+            irix5      any uniprocessor, 32 bit SGI machine running IRIX 5.3
+            irix62     any uniprocessor, SGI machine running IRIX 6.2
+            linux      Linux 1.2.x, 1.3.x, using the /proc filesystem
+            mtxinu     any VAX Running Mt. Xinu MORE/bsd
+            ncr3000    For NCR 3000 series systems Release 2.00.02 and above -
+            netbsd08   For a NetBSD system
+            netbsd10   For a NetBSD-1.0 (4.4BSD) system
+            netbsd132  For a NetBSD-1.3.2 (4.4BSD) system
+            next32     any m68k or intel NEXTSTEP v3.x system
+            next40     any hppa or sparc NEXTSTEP v3.3 system
+            osmp41a    any Solbourne running OS/MP 4.1A
+            sco        SCO UNIX
+            sco5       SCO UNIX OpenServer5
+            sunos4     any Sun running SunOS version 4.x
+            sunos4mp   any multi-processor Sun running SunOS versions 4.1.2 or later
+            sunos5     Any Sun running SunOS 5.x (Solaris 2.x)
+            svr4       Intel based System V Release 4
+            svr42      For Intel based System V Release 4.2 (DESTINY)
+            ultrix4    any DEC running ULTRIX V4.2 or later
+            umax       Encore Multimax running any release of UMAX 4.3
+            utek       Tektronix 43xx running UTek 4.1
+
+        If somebody were to write a tie into top's source code that would
+        generate output every X minutes to a text file or even RRD files,
+        then Orca could put it together into a nice package.
+
+        In line with this di
+        (ftp://ftp.pz.pirmasens.de/pub/unix/utilities/), a freely
+        available disk usage program that could be used to generate disk
+        usage plots loaded by Orca.
 
 * orcallator.se: Dump directly to RRD files.
 
-	A separate RRD file would be created for each measurement.
-	I do not want all the data stored in a single RRD, since people
-	commonly add or remove hardware from the system, which will cause
-	more or less data to be stored.  Also, this currently would not
-	work with RRDtool, since you cannot dynamically add more RRAs
-	to a RRD file.	Saving each measurement in a separate RRD file
-	removes this issue.
-
-	Pros:
-		1) Disk space savings.	For an old host using over 70
-		   megabytes of storage for text output, the RRD files
-		   consume 3.5 megabytes of storage.
-		2) Orca processing time.  Orca spends a large amount of
-		   kernel and CPU time in finding files and getting
-		   the column headers from these files.  By storing
-		   the data in RRD files, this is no longer a problem.
-		   Also, Orca itself would not need to move the data
-		   from text to RRD form, speeding up the process of
-		   generating the final plots.
-
-	Cons:
-		1) Potential slowdown in updating the data files.
-		   It is easier to write a single text line using fprintf
-		   than using rrd_update.  What is the impact on a single
-		   orcallator.se process?
-		2) RRDtool format changes and upgrading the data files.
-		   Text files do not change, but if RRDtool does change,
-		   then the data files will need to be upgraded somehow.
-		3) Loss of data over time.  Due to the consolidation
-		   function of RRD, older data will not be as precise
-		   in case it needs to be examined.
-		4) You cannot grep or simply parse the text files for
-		   particular data for ad-hoc studies.
-		5) The RRD creation parameters would be set by
-		   orcallator.se and not by Orca, making modifications
-		   harder.
-
-	Question: Do the pros outweigh the cons?
-
-	Work to do: Get RRDtool to build a librrd.so that orcallator.se
-	would attach to.  The RRDs.so that gets built in the perl-shared
-	directory has RRDs.o included in it with references to Perl
-	variables, so this shared library cannot be loaded by anybody
-	else.  Two things can be done.	One is to modify the perl-shared
-	Makefile.PL to build a librrd.so without RRDs.so.  The other is
-	to somehow make librrd.so with libtool.  Either libtool can be
-	integrated into RRDtool as a whole, or probably simpler would
-	be to add another directory to RRDtool and use libtool in there
-	to make the shared library.  The first libtool solution would
-	allow RRDtool to make shared libraries on almost any host without
-	requiring that gcc be installed, since currently the Makefile's
-	look for gcc to use the -fPIC flags.
+        A separate RRD file would be created for each measurement.
+        I do not want all the data stored in a single RRD, since people
+        commonly add or remove hardware from the system, which will cause
+        more or less data to be stored.  Also, this currently would not
+        work with RRDtool, since you cannot dynamically add more RRAs
+        to a RRD file.  Saving each measurement in a separate RRD file
+        removes this issue.
+
+        Pros:
+                1) Disk space savings.  For an old host using over 70
+                   megabytes of storage for text output, the RRD files
+                   consume 3.5 megabytes of storage.
+                2) Orca processing time.  Orca spends a large amount of
+                   kernel and CPU time in finding files and getting
+                   the column headers from these files.  By storing
+                   the data in RRD files, this is no longer a problem.
+                   Also, Orca itself would not need to move the data
+                   from text to RRD form, speeding up the process of
+                   generating the final plots.
+
+        Cons:
+                1) Potential slowdown in updating the data files.
+                   It is easier to write a single text line using fprintf
+                   than using rrd_update.  What is the impact on a single
+                   orcallator.se process?
+                2) RRDtool format changes and upgrading the data files.
+                   Text files do not change, but if RRDtool does change,
+                   then the data files will need to be upgraded somehow.
+                3) Loss of data over time.  Due to the consolidation
+                   function of RRD, older data will not be as precise
+                   in case it needs to be examined.
+                4) You cannot grep or simply parse the text files for
+                   particular data for ad-hoc studies.
+                5) The RRD creation parameters would be set by
+                   orcallator.se and not by Orca, making modifications
+                   harder.
+
+        Question: Do the pros outweigh the cons?
+
+        Work to do: Get RRDtool to build a librrd.so that orcallator.se
+        would attach to.  The RRDs.so that gets built in the perl-shared
+        directory has RRDs.o included in it with references to Perl
+        variables, so this shared library cannot be loaded by anybody
+        else.  Two things can be done.  One is to modify the perl-shared
+        Makefile.PL to build a librrd.so without RRDs.so.  The other is
+        to somehow make librrd.so with libtool.  Either libtool can be
+        integrated into RRDtool as a whole, or probably simpler would
+        be to add another directory to RRDtool and use libtool in there
+        to make the shared library.  The first libtool solution would
+        allow RRDtool to make shared libraries on almost any host without
+        requiring that gcc be installed, since currently the Makefile's
+        look for gcc to use the -fPIC flags.
 
 * Orca: Potentially use Cricket's configuration ConfigTree Module.
 
-	Given more complex Orca installations where many different Orca
-	configuration files are used, maintaining them will start to be
-	complicated.  For example, in Yahoo!/GeoCities I have 9 different
-	configurations to split up the hosts for our site I found that
-	for the number of hosts and the number of data files require this
-	for reasonable generating of the resulting HTML and PNG files.
-
-	It looks like using ConfigTree would allow Orca to use the same
-	inheritance that Cricket uses.	I don't know enough about the
-	Cricket config tree setup to know if it would work well with Orca.
+        Given more complex Orca installations where many different Orca
+        configuration files are used, maintaining them will start to be
+        complicated.  For example, in Yahoo!/GeoCities I have 9 different
+        configurations to split up the hosts for our site I found that
+        for the number of hosts and the number of data files require this
+        for reasonable generating of the resulting HTML and PNG files.
+
+        It looks like using ConfigTree would allow Orca to use the same
+        inheritance that Cricket uses.  I don't know enough about the
+        Cricket config tree setup to know if it would work well with Orca.
 
-	Work to do:  Review the ConfigTree code.
+        Work to do:  Review the ConfigTree code.
 
 * Orca: Allow different group sources in the same plot.
 
-	Currently Orca only allows data sources from one group.  Expand
-	the code to list the group in each data line.  Initially, however
-	only data from one group would be allowed in one data statement.
+        Currently Orca only allows data sources from one group.  Expand
+        the code to list the group in each data line.  Initially, however
+        only data from one group would be allowed in one data statement.
 
 * Orca: Put the last update time for each host in an HTML file somewhere.
 
-	This could be done simply up updating a file that gets included
-	by the real HTML file.	This way the main HTML files do not
-	have to get rewritten all the time.  On large installations,
-	writing the HTML files is lengthy.
+        This could be done simply up updating a file that gets included
+        by the real HTML file.  This way the main HTML files do not
+        have to get rewritten all the time.  On large installations,
+        writing the HTML files is lengthy.
 
 * Orca: Turn off HTML creation via command line option.
 
-	Add a command line option to turn off HTML file creation.
+        Add a command line option to turn off HTML file creation.
 
 * Orca: Update the HTML files is new data is found.
 
-	Currently Orca will only update the HTML files if new source
-	files are found, but not if new data in existing files is found.
-	Change this.
+        Currently Orca will only update the HTML files if new source
+        files are found, but not if new data in existing files is found.
+        Change this.
 
 * orcallator.se: Put HTTP proxy and caching statistics into orcallator.cfg.
 
-	Since orcallator.se measures HTTP proxy and caching statistics,
-	update orcallator.cfg.in to display these data sets.
+        Since orcallator.se measures HTTP proxy and caching statistics,
+        update orcallator.cfg.in to display these data sets.
 
 * orcallator.se: Temperature measurements
 
-	Since /usr/platform/sun4u/sbin/prtdiag -v measures the ambient
-	and CPU temperature, get orcallator.se to measure this data.
+        Since /usr/platform/sun4u/sbin/prtdiag -v measures the ambient
+        and CPU temperature, get orcallator.se to measure this data.
 
 * Orca:
 
-	Do what it takes to remove the same Ethernet port listings in
-	orcallator.cfg.in.  They seem redundant, but are not totally,
-	since different interfaces have different maximum data transfer
-	rates.
+        Do what it takes to remove the same Ethernet port listings in
+        orcallator.cfg.in.  They seem redundant, but are not totally,
+        since different interfaces have different maximum data transfer
+        rates.
 
 * Orca:
 
-	Add some error checking code for the maximum number of available
-	colors so undefined errors do not arise.
+        Add some error checking code for the maximum number of available
+        colors so undefined errors do not arise.
 
 * Other:
-	Mention the AIX tool nmon.
+        Mention the AIX tool nmon.
 
 
 

Modified: trunk/orca/INSTALL
==============================================================================
--- trunk/orca/INSTALL	(original)
+++ trunk/orca/INSTALL	2003-01-03 15:08:22.000000000 -0800
@@ -139,13 +139,13 @@
     Orca requires the following Perl modules at the specified
     versions:
 
-    Name			Required Version	Included With Orca
+    Name                        Required Version        Included With Orca
     ----------------------------------------------------------------------
-    Data::Dumper		2.101 or greater	2.101
-    Digest::MD5			2.21 or greater		2.21
-    Math::IntervalSearch	1.05 or greater		1.05
-    RRDs			1.0.33 or greater	1.0.33
-    Storable			2.06 or greater		2.06
+    Data::Dumper                2.101 or greater        2.101
+    Digest::MD5                 2.21 or greater         2.21
+    Math::IntervalSearch        1.05 or greater         1.05
+    RRDs                        1.0.33 or greater       1.0.33
+    Storable                    2.06 or greater         2.06
 
     All five of these modules are included with the Orca distribution
     in the packages directory.  When you configure Orca in step 3),
@@ -226,7 +226,7 @@
 
     To make Orca and these Perl modules run the following command:
 
-    % make		[ To optimize: make CFLAGS=-O or CFLAGS=-O3 ]
+    % make                [ To optimize: make CFLAGS=-O or CFLAGS=-O3 ]
 
  6) Test if the Perl modules properly compiled.
 



More information about the Orca-checkins mailing list