[Orca-checkins] rev 90 - in trunk/orca: . orca percollator

blair at orcaware.com blair at orcaware.com
Sat Jul 13 18:29:01 PDT 2002


Author: blair
Date: Fri, 28 Jun 2002 21:53:38 -0700
New Revision: 90

Added:
   trunk/orca/percollator/percol_column
Modified:
   trunk/orca/CHANGES
   trunk/orca/README
   trunk/orca/TODO
   trunk/orca/orca/Makefile
   trunk/orca/orca/README
   trunk/orca/orca/orca
   trunk/orca/orca/orca.man
   trunk/orca/percollator/README
   trunk/orca/percollator/restart_percol
   trunk/orca/percollator/start_percol
Log:
Load orca-0.14 into trunk/orca.


Modified: trunk/orca/orca/orca
==============================================================================
--- trunk/orca/orca/orca	(original)
+++ trunk/orca/orca/orca	Sat Jul 13 18:28:24 2002
@@ -1,6 +1,6 @@
 #!/home/bzajac/opt-sparc-solaris/perl5/bin/perl -w
 
-# FMRTG: display arbitrary data from files onto web pages using RRD.
+# Orca: display arbitrary data from files onto web pages using RRD.
 #
 # Copyright (C) 1998 Blair Zajac and GeoCities, Inc.
 
@@ -18,7 +18,7 @@
 $Data::Dumper::Deepcopy = 1;
 
 # This is the version of this code.
-my $VERSION = 0.13;
+my $VERSION = 0.14;
 
 # The number of seconds in one day.
 my $day_seconds = 24*60*60;
@@ -55,13 +55,13 @@
 }
 $SIG{HUP} = \&handle_hup;
 
-package MRTG::HTMLFile;
+package Orca::HTMLFile;
 
 use Carp;
 
 sub new {
   unless (@_ >= 4) {
-    confess "$0: MRTG::HTMLFile::new passed wrong number of arguments.\n";
+    confess "$0: Orca::HTMLFile::new passed wrong number of arguments.\n";
   }
   my ($class, $filename, $title, $top, $bottom) = @_;
   $bottom = '' unless defined $bottom;
@@ -318,13 +318,13 @@
 use vars qw($open_file_cache);
 $open_file_cache = OpenFileHash->new(150) unless $open_file_cache;
 
-package MRTG::DataFile;
+package Orca::DataFile;
 
 use Carp;
 
 sub new {
   unless (@_ == 2) {
-    confess "$0: MRTG::DataFile::new passed wrong number of arguments.\n";
+    confess "$0: Orca::DataFile::new passed wrong number of arguments.\n";
   }
 
   my $class    = shift;
@@ -416,14 +416,14 @@
   $result;
 }
 
-package MRTG::GIFFile;
+package Orca::GIFFile;
 
 use RRD;
 use Carp;
 
 sub new {
   unless (@_ == 11) {
-    confess "$0: MRTG::GIFFile::new passed incorrect number of arguments.\n";
+    confess "$0: Orca::GIFFile::new passed incorrect number of arguments.\n";
   }
 
   my ($class,
@@ -439,10 +439,10 @@
       $my_rrds_ref) = @_;
 
   unless (@$my_rrds_ref) {
-    confess "$0: MRTG::GIFFile::new passed empty \@rrds_ref reference.\n";
+    confess "$0: Orca::GIFFile::new passed empty \@rrds_ref reference.\n";
   }
   unless ($name) {
-    confess "$0: MRTG::GIFFile::new passed empty \$name.\n";
+    confess "$0: Orca::GIFFile::new passed empty \$name.\n";
   }
 
   # Remove any special characters from the unique name and do some
@@ -662,17 +662,17 @@
   return "$wday, $mday $month ".($year+1900)." $hour:$min:$sec GMT";
 }
 
-package MRTG::RRDFile;
+package Orca::RRDFile;
 
 use RRD;
 use Carp;
 use vars qw(@ISA);
 
- at ISA = qw(MRTG::DataFile);
+ at ISA = qw(Orca::DataFile);
 
 sub new {
   unless (@_ == 8) {
-    confess "$0: MRTG::RRDFile::new passed incorrect number of arguments.\n";
+    confess "$0: Orca::RRDFile::new passed incorrect number of arguments.\n";
   }
 
   my ($class,
@@ -780,7 +780,7 @@
 
   my $rrd_filename = $self->filename;
 
-  # Create the MRTG data file if it needs to be created.
+  # Create the Orca data file if it needs to be created.
   if ($self->{_rrd_update_time} == -2) {
 
     # Assume that a maximum of two time intervals are needed before a
@@ -852,13 +852,13 @@
   return 1;
 }
 
-package MRTG::SourceDataFile;
+package Orca::SourceDataFile;
 
 use Carp;
 use Digest::MD5 qw(md5);
 use vars qw(@ISA);
 
- at ISA = qw(MRTG::DataFile);
+ at ISA = qw(Orca::DataFile);
 
 # This is a static variable that caches the anonymous subroutines that
 # return the correct data from the input file.
@@ -866,7 +866,7 @@
 
 sub new {
   unless (@_ == 10) {
-    confess "$0: MRTG::SourceDataFile::new passed incorrect number of arguments.\n";
+    confess "$0: Orca::SourceDataFile::new passed incorrect number of arguments.\n";
   }
 
   my ($class,
@@ -1037,7 +1037,7 @@
 
 sub add_plots {
   unless (@_ == 8) {
-    confess "$0: MRTG::SourceDataFile::add_plots passed wrong number of arguments.\n";
+    confess "$0: Orca::SourceDataFile::add_plots passed wrong number of arguments.\n";
   }
 
   my ($self,
@@ -1272,7 +1272,7 @@
 
     # For each data source, create an executable subroutine that takes a
     # row of elements and returns the requested value.  Also create an
-    # unique MRTG data file name for this plot and a name for this plot
+    # unique Orca data file name for this plot and a name for this plot
     # that does not include the group.
     my @my_rrds;
     my @no_group_name;
@@ -1309,13 +1309,13 @@
 
       # Create a new RRD only if it doesn't already exist.
       unless (defined $rrd_data_files_ref->{$name}) {
-        my $rrd_file = MRTG::RRDFile->new($config_options,
-                                          $config_files,
-                                          $files_key,
-                                          $group,
-                                          $name,
-                                          $plot,
-                                          $choose_data_sub);
+        my $rrd_file = Orca::RRDFile->new($config_options,
+                                           $config_files,
+                                           $files_key,
+                                           $group,
+                                           $name,
+                                           $plot,
+                                           $choose_data_sub);
         $rrd_data_files_ref->{$name} = $rrd_file;
       }
       $self->{_all_rrd_ref} = $rrd_data_files_ref;
@@ -1331,16 +1331,16 @@
       $gif->add_rrds(@my_rrds);
     }
     else {
-      $gif = MRTG::GIFFile->new($config_options,
-                                $config_files,
-                                $config_plots,
-                                $files_key,
-                                $group,
-                                join(',', @my_rrds),
-                                join(',', @no_group_name),
-                                $plot,
-                                $rrd_data_files_ref,
-                                \@my_rrds);
+      $gif = Orca::GIFFile->new($config_options,
+                                 $config_files,
+                                 $config_plots,
+                                 $files_key,
+                                 $group,
+                                 join(',', @my_rrds),
+                                 join(',', @no_group_name),
+                                 $plot,
+                                 $rrd_data_files_ref,
+                                 \@my_rrds);
       $gif_files_ref->{hash}{$group_name} = $gif;
       push(@{$gif_files_ref->{list}}, $gif);
       push(@{$config_plots->[$old_i]{creates}}, $gif);
@@ -1500,7 +1500,7 @@
 
 die "usage: $0 [-o] [-v] config_file\n" unless @ARGV;
 
-print "FMRTG Version $VERSION.\n" if $opt_verbose;
+print "Orca Version $VERSION.\n" if $opt_verbose;
 
 &main(@ARGV);
 
@@ -1777,10 +1777,10 @@
   print "Creating HTML files in `$html_dir/'.\n" if $opt_verbose;
 
   # Create the main HTML index.html file.
-  my $index_html = MRTG::HTMLFile->new($index_filename,
-                                       $config_options->{html_top_title},
-                                       $config_options->{html_page_header},
-                                       $config_options->{html_page_footer});
+  my $index_html = Orca::HTMLFile->new($index_filename,
+                                        $config_options->{html_top_title},
+                                        $config_options->{html_page_header},
+                                        $config_options->{html_page_footer});
   unless ($index_html) {
     warn "$0: warning: cannot open `$index_filename' for writing: $!\n";
     return;
@@ -1827,10 +1827,10 @@
         my $href      = "$group_basename-$plot_type.html";
         my $filename  = "$html_dir/$href";
         my $Plot_Type = Capatialize($plot_type);
-        my $fd = MRTG::HTMLFile->new($filename,
-                                     "$Plot_Type $group",
-                                     $config_options->{html_page_header},
-                                     $config_options->{html_page_footer});
+        my $fd = Orca::HTMLFile->new($filename,
+                                      "$Plot_Type $group",
+                                      $config_options->{html_page_header},
+                                      $config_options->{html_page_footer});
         unless ($fd) {
           warn "$0: warning: cannot open `$filename' for writing: $!\n";
           next;
@@ -1975,10 +1975,10 @@
           my $href      = "$no_group_name-$plot_type.html";
           my $filename  = "$html_dir/$href";
           my $Plot_Type = Capatialize($plot_type);
-          my $fd = MRTG::HTMLFile->new($filename,
-                                       "$Plot_Type $legend_no_group",
-                                       $config_options->{html_page_header},
-                                       "<hr>\n$config_options->{html_page_footer}");
+          my $fd = Orca::HTMLFile->new($filename,
+                                        "$Plot_Type $legend_no_group",
+                                        $config_options->{html_page_header},
+                                        "<hr>\n$config_options->{html_page_footer}");
           unless ($fd) {
             warn "$0: warning: cannot open `$filename' for writing: $!\n";
             next;
@@ -2037,10 +2037,10 @@
       my $legend_with_group = replace_group_name($gif->plot_ref->{title},
                                                  $gif->group);
       my $summarize_name = "$html_dir/$with_group_name.html";
-      my $summarize_html = MRTG::HTMLFile->new($summarize_name,
-                                               $legend_with_group,
-                                               $config_options->{html_page_header},
-                                               $config_options->{html_page_footer});
+      my $summarize_html = Orca::HTMLFile->new($summarize_name,
+                                                $legend_with_group,
+                                                $config_options->{html_page_header},
+                                                $config_options->{html_page_footer});
       unless ($summarize_html) {
         warn "$0: warning: cannot open `$summarize_name' for writing: $!\n";
         next;
@@ -2138,9 +2138,9 @@
   if (open(SENDMAIL, "|/usr/lib/sendmail -oi -t")) {
     print SENDMAIL <<"EOF";
 To: $people
-Subject: MRTG: $subject
+Subject: Orca: $subject
  
-MRTG: $subject
+Orca: $subject
 EOF
     close(SENDMAIL) or
       warn "$0: warning: sendmail did not close: $!\n";
@@ -2269,15 +2269,15 @@
         else {
           print "  $filename\n" if $opt_verbose;
           my $data_file = 
-            MRTG::SourceDataFile->new($filename,
-                                      $config_files->{$files_key}{interval},
-                                      $config_options->{late_interval},
-                                      $config_files->{$files_key}{reopen},
-                                      $config_files->{$files_key}{column_description},
-                                      $config_files->{$files_key}{date_source},
-                                      $config_files->{$files_key}{date_format},
-                                      $config_options->{warn_email},
-                                      $source_file_state);
+            Orca::SourceDataFile->new($filename,
+                                       $config_files->{$files_key}{interval},
+                                       $config_options->{late_interval},
+                                       $config_files->{$files_key}{reopen},
+                                       $config_files->{$files_key}{column_description},
+                                       $config_files->{$files_key}{date_source},
+                                       $config_files->{$files_key}{date_format},
+                                       $config_options->{warn_email},
+                                       $source_file_state);
           unless ($data_file) {
             warn "$0: warning: cannot process `$filename'.\n";
             next;
@@ -2693,7 +2693,7 @@
 
 # The following options go into the options and files hashes.  If you
 # add any elements to pcl_plot_append_elements, make sure up update
-# MRTG::SourceDataFile::add_plots.
+# Orca::SourceDataFile::add_plots.
 my @pcl_option_elements;
 my @pcl_file_elements;
 my @pcl_plot_elements;
@@ -2947,15 +2947,15 @@
 
 =head1 NAME
 
-fmrtg - Make HTML & GIF plots of daily, weekly, monthly & yearly data
+orca - Make HTML & GIF plots of daily, weekly, monthly & yearly data
 
 =head1 SYNOPSIS
 
-  fmrtg [-v [-v [-v]]] [-o] configuration_file
+  orca [-v [-v [-v]]] [-o] configuration_file
 
 =head1 DESCRIPTION
 
-FMRTG is a tool useful for plotting arbitrary data from text files onto
+Orca is a tool useful for plotting arbitrary data from text files onto
 a directory on Web server.  It has the following features:
 
   * Configuration file based.
@@ -2982,39 +2982,45 @@
   * Can be run under cron or it can sleep itself waiting for file updates
     based on when the file was last updated.
 
-FMRTG is based the the RRD tool by Tobias Oetiker.  While it is similar to
-the other tools based on RRD, such as SMRTG and MRTG, it is significantly
-different.
+Orca is based the the RRD tool by Tobias Oetiker.  While it is similar to
+the other tools based on RRD, such as Cricket and MRTG, it is significantly
+different.  To see these other tools, examine
+
+  http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
+
+and
+
+  http://www.munitions.com/~jra/cricket/
 
 =head1 EXAMPLES
 
-A small static example of FMRTG is at
+A small static example of Orca is at
 
-http://www.geocities.com/ResearchTriangle/Thinktank/4996/fmrtg-example/
+  http://www.geocities.com/ResearchTriangle/Thinktank/4996/orca-example/
 
-Please inform me of any other sites using FMRTG and I will include them
+Please inform me of any other sites using Orca and I will include them
 here.
 
 =head1 REQUIREMENTS
 
-I have used only version version 5.005_02 of Perl with FMRTG.  Because
-FMRTG makes very heavy use of references, it may or may not work
-with older versions of Perl.  I welcome feedback if FMRTG works with
+I have used only version version 5.005_02 of Perl with Orca.  Because
+Orca makes very heavy use of references, it may or may not work
+with older versions of Perl.  I welcome feedback if Orca works with
 older Perls.
 
-FMRTG also requires several other Perl modules.  These are:
+Orca also requires several other Perl modules.  These are:
 
   Math::IntervalSearch
    Version 1.00 or greater.
-   ftp://ftp.gps.caltech.edu/pub/blair/Perl/Math-Interpolate-1.00.tar.gz
-   http://www.perl.com/CPAN/authors/id/B/BZ/BZAJAC/Math-Interpolate-1.00.tar.gz
+   ftp://ftp.gps.caltech.edu/pub/blair/Perl/Math-Interpolate-1.01.tar.gz
+   http://www.perl.com/CPAN/authors/id/B/BZ/BZAJAC/Math-Interpolate-1.01.tar.gz
 
   Digest::MD5
    Version 2.00 or greater.
-   http://www.perl.com/CPAN/authors/id/GAAS/Digest-MD5-2.00.tar.gz
+   http://www.perl.com/CPAN/authors/id/GAAS/Digest-MD5-2.01.tar.gz
 
   RRD
-   Version 19981122.22 or greater.
+   Version 19981217.00 or greater.
    http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/3.0/
 
 The modules can be installed into your Perl tree with the following
@@ -3022,8 +3028,8 @@
 
 Math::Interval:
 
-  % gunzip -c Math-Interpolate-1.00.tar.gz | tar xvf -
-  % cd Math-Interpolate-1.00
+  % gunzip -c Math-Interpolate-1.01.tar.gz | tar xvf -
+  % cd Math-Interpolate-1.01
   % perl Makefile.PL
   % make
   % make test
@@ -3031,8 +3037,8 @@
 
 Digest::MD5
 
-  % gunzip -c Digest-MD5-2.00.tar.gz | tar xvf -
-  % cd Digest-MD5-2.00
+  % gunzip -c Digest-MD5-2.01.tar.gz | tar xvf -
+  % cd Digest-MD5-2.01
   % perl Makefile.PL
   % make
   % make test
@@ -3055,30 +3061,30 @@
 
 =head1 COMMAND LINE OPTIONS
 
-FMRTG has only two command line options.  They are:
+Orca has only two command line options.  They are:
 
-B<-v>: Verbose.  Have FMRTG spit out more verbose messages.  As you add
+B<-v>: Verbose.  Have Orca spit out more verbose messages.  As you add
 more B<-v>'s to the command line, more messages are sent out.  Any more
-than three B<-v>'s are not used by FMRTG.
+than three B<-v>'s are not used by Orca.
 
-B<-o>: Once.  This tells FMRTG to go through the steps of finding files,
+B<-o>: Once.  This tells Orca to go through the steps of finding files,
 updating the RRDs, updating the GIFs, and creating the HTML files once.
-Normally, FMRTG loops continuously looking for new and updated files.
+Normally, Orca loops continuously looking for new and updated files.
 
-After the command line options are listed, FMRTG takes one more argument
+After the command line options are listed, Orca takes one more argument
 which is the name of the configuration file to use.  Sample configuration
 files can be found in the sample_configs directory with the distribution
 of this tool.
 
 =head1 INSTALLATION AND CONFIGURATION
 
-The first step in using FMRTG is to set up a configuration file that
-instructs FMRTG on what to do.  The configuration file is based on a
+The first step in using Orca is to set up a configuration file that
+instructs Orca on what to do.  The configuration file is based on a
 key/value pair structure.  The key name must start at the beginning of
 a line.  Lines that begin with whitespace are concatenated onto the the
-last key's value.  This is the same format as used by MRTG and SMRTG.
+last key's value.  This is the same format as used by MRTG and Cricket.
 
-There are three main groups of options in a FMRTG confg: general options,
+There are three main groups of options in a Orca confg: general options,
 file specific options, and plot specific options.  General options may
 be used by the file and plot specific options.  If an option is required,
 then it is only placed one time into the configuration file.
@@ -3090,9 +3096,9 @@
 
 =item B<state_file> I<filename>
 
-For FMRTG to work efficiently, it saves the last modification time of
+For Orca to work efficiently, it saves the last modification time of
 all input data files and the Unix epoch time when they were last read
-by FMRTG into a state file.  The value for B<state_file> must be a
+by Orca into a state file.  The value for B<state_file> must be a
 valid, writable filename.  If I<filename> does not begin with a / and
 the B<base_dir> option was set, then the B<base_dir> directory will be
 prepended to the I<filename>.
@@ -3103,9 +3109,9 @@
 =item B<html_dir> I<directory>
 
 B<html_dir> specifies the root directory for the main index.html and
-all underlying HTML and GIF files that FMRTG generates.  This should
+all underlying HTML and GIF files that Orca generates.  This should
 not be a directory that normal users will edit.  Ideally this directory
-should be on a disk locally attached to the host running FMRTG, but is
+should be on a disk locally attached to the host running Orca, but is
 not necessary.
 
 If I<directory> does not begin with a / and the B<base_dir> option was
@@ -3114,9 +3120,9 @@
 =item B<data_dir> I<directory>
 
 B<data_dir> specifies the root directory for the location of the RRD data
-files that FMRTG generates.  For best performance, this directory should
-be on a disk locally attached to the host running FMRTG.  Otherwise,
-the many IO operations that FMRTG performs will be greatly slowed down.
+files that Orca generates.  For best performance, this directory should
+be on a disk locally attached to the host running Orca.  Otherwise,
+the many IO operations that Orca performs will be greatly slowed down.
 It is more important this B<data_dir> be locally stored than B<html_dir>
 for performance concerns.
 
@@ -3156,7 +3162,7 @@
 =item B<warn_email> I<email_address> [I<email_address> ...]
 
 B<warn_email> takes a list of email addresses of people to email
-when something goes wrong with either FMRTG or the input data files.
+when something goes wrong with either Orca or the input data files.
 Currently email messages are sent out the the following circumstances:
 
   1) When a file did exist and now is gone.
@@ -3185,7 +3191,7 @@
 
 =item B<find_times> I<hours:minutes> [I<hours:minutes> ...]
 
-The B<find_times> option is used to tell FMRTG when to go and find new
+The B<find_times> option is used to tell Orca when to go and find new
 files.  This particularly useful when new input data files are created
 at midnight.  In this case, something like
 
@@ -3193,35 +3199,35 @@
 
 would work.
 
-By default, files are only searched for when FMRTG starts up.
+By default, files are only searched for when Orca starts up.
 
 =item B<html_top_title> I<text> ...
 
-The I<text> is placed at the top of the main index.html that FMRTG
+The I<text> is placed at the top of the main index.html that Orca
 creates.  By default, no addition text is placed at the top of the
 main index.html.
 
 =item B<html_page_header> I<text> ...
 
-The I<text> is placed at the top of each HTML file that FMRTG creates.
+The I<text> is placed at the top of each HTML file that Orca creates.
 By default, no additional text is placed at the top of each HTML file.
 
 =item B<html_page_footer> I<text> ...
 
-The I<text> is placed at the bottom of each HTML file that FMRTG creates.
+The I<text> is placed at the bottom of each HTML file that Orca creates.
 By default, no additional text is placed at the bottom of each HTML file.
 
 =item B<sub_dir> I<directory>
 
-In certain cases FMRTG will not create sub directories for the different
-groups of files that it processes.  If you wish to force FMRTG to create
+In certain cases Orca will not create sub directories for the different
+groups of files that it processes.  If you wish to force Orca to create
 sub directories, then do this
 
   sub_dir 1
 
 =head2 Files Options
 
-The next step in configuring FMRTG is telling where to find the files to
+The next step in configuring Orca is telling where to find the files to
 use as input, a description of the columns of data comprising the file,
 the interval at which the file is updated, and where the measurement
 time is stored in the file.  This is stored into a files set.
@@ -3254,31 +3260,31 @@
 
 =item B<find_files> I<path|regexp> [I<path|regexp> ...]
 
-The B<find_files> option tells FMRTG what data files to use as
+The B<find_files> option tells Orca what data files to use as
 its input.  The arguments to B<find_files> may be a simple filename,
 a complete path to a filename, or a regular expression to find files.
 The regular expression match is not the normal shell globbing that the
-Bourne shell, C shell or other shells use.  Rather, FMRTG uses the Perl
+Bourne shell, C shell or other shells use.  Rather, Orca uses the Perl
 regular expressions to find files.  For example:
 
   find_files /data/source1 /data/source2
 
-will have FMRTG use /data/source1 and /data/source2 as the inputs
-to FMRTG.  This could have also been written as
+will have Orca use /data/source1 and /data/source2 as the inputs
+to Orca.  This could have also been written as
 
   find_files /data/source\d
 
 and both data files will be used.
 
-In the two above examples, FMRTG will assume that both data files
+In the two above examples, Orca will assume that both data files
 represent data from the same source.  If this is not the case, such as
 source1 is data from one place and source2 is data from another place,
-then FMRTG needs to be told to treat the data from each file as distinct
+then Orca needs to be told to treat the data from each file as distinct
 data sources.  This be accomplished in two ways.  The first is by creating
 another files { ... } option set.  However, this requires copying all
 of the text and makes maintenance of the configuration file complex.
 The second and recommend approach is to place ()'s around parts of the
-regular expression to tell FMRTG how to distinguish the two data files:
+regular expression to tell Orca how to distinguish the two data files:
 
   find_files /data/(source\d)
 
@@ -3310,9 +3316,9 @@
 
 =item B<column_description> first_line
 
-For FMRTG to plot the data, it needs to be told what each column of
+For Orca to plot the data, it needs to be told what each column of
 data holds.  This is accomplished by creating a text description for
-each column.  There are two ways this may be loaded into FMRTG.  If the
+each column.  There are two ways this may be loaded into Orca.  If the
 input data files for a files set do not change, then the column names
 can be listed after B<column_description>:
 
@@ -3323,8 +3329,8 @@
 
   column_description first_line
 
-This informs FMRTG that it should read the first line of all the input
-data files for the column description.  FMRTG can handle different files
+This informs Orca that it should read the first line of all the input
+data files for the column description.  Orca can handle different files
 in the same files set that have different number of columns and column
 descriptions.  The only limitation here is that column descriptions
 are white space separated and therefore, no spaces are allowed in the
@@ -3334,30 +3340,30 @@
 
 =item B<date_source> file_mtime
 
-The B<date_source> option tells FMRTG where time and date of the
+The B<date_source> option tells Orca where time and date of the
 measurement is located.  The first form of the B<date_source> options
 lists the column name as given to B<column_description> that contains
 the Unix epoch time.  The second form with the file_mtime argument tells
-FMRTG that the date and time for any new data in the file is the last
+Orca that the date and time for any new data in the file is the last
 modification time of the file.
 
 =item B<date_format> I<string>
 
 The B<date_format> option is only required if the column_name argument
-to B<date_source> is used.  Current, this argument is not used by FMRTG.
+to B<date_source> is used.  Current, this argument is not used by Orca.
 
 =head2 Optional Files Options
 
 =item B<reopen> 1
 
-Using the B<reopen> option for a files set instructs FMRTG to close
+Using the B<reopen> option for a files set instructs Orca to close
 and reopen any input data files when there is new data to be read.
 This is of most use when an input data file is erased and rewritten by
 some other process.
 
 =head2 Plot Options
 
-The final step is to tell FMRTG what plots to create and how to create
+The final step is to tell Orca what plots to create and how to create
 them.  The general format for creating a plot is:
 
   plot {
@@ -3401,7 +3407,7 @@
 
 =item B<data> I<regular expression>
 
-The B<data> plot option tells FMRTG the data sources to use to place
+The B<data> plot option tells Orca the data sources to use to place
 in a single GIF plot.  At least one B<data> option is required for a
 particular plot and as many as needed may be placed into a single plot.
 
@@ -3421,7 +3427,7 @@
 
 The second form allows for matching column names that match a regular
 expression and plotting all of those columns that match the regular
-expression in a single plot.  To tell FMRTG that a regular expression
+expression in a single plot.  To tell Orca that a regular expression
 is being used, then only a single non whitespace separated argument to
 B<data> is allowed.  In addition, the argument must contain at least one
 set of parentheses ()'s.  When a regular expression matches a column name,
@@ -3464,7 +3470,7 @@
   .
   }
 
-If the following data files are found by FMRTG
+If the following data files are found by Orca
 
   /data/solaris-2.6/olympia/percol-1998-12-01
   /data/solaris-2.6/olympia/percol-1998-12-02
@@ -3474,7 +3480,7 @@
 then separate plots will be created for olympia and sunridge, with each
 plot containing the input and output number of packets per second.
 
-By default, when FMRTG finds a plot set with a regular expression
+By default, when Orca finds a plot set with a regular expression
 match, it will only find one match, and then go on to the next plot set.
 After it reaches the last plot set, it will go back to the first plot set
 with a regular expression match and look for the next data that matches
@@ -3489,7 +3495,7 @@
   hme1 Input & Output Errors per Second
 
 If you wanted to have the links listed in order of hme0 and hme1,
-then you would add the B<flush_regexps> option to tell FMRTG to find
+then you would add the B<flush_regexps> option to tell Orca to find
 all regular expression matches for a particular plot set and all plot
 sets before the plot set containing B<flush_regexps> before continuing
 on to the next plot set.  For example, if
@@ -3525,7 +3531,7 @@
 
 =item B<data_type> I<type>
 
-When defining data types, FMRTG uses the same data types as provided
+When defining data types, Orca uses the same data types as provided
 by RRD.  These are (a direct quote from the RRDcreate manual page):
 
 I<type> can be one of the following: B<GAUGE> this is for things like
@@ -3571,7 +3577,7 @@
 
 =item B<flush_regexps> 1
 
-Using the B<flush_regexps> option tells FMRTG to make sure that the plot
+Using the B<flush_regexps> option tells Orca to make sure that the plot
 set including this option and all previous plot sets have matched all of
 the columns with their regular expressions.  See the above description
 of using regular expressions in the B<data> option for an example.
@@ -3579,9 +3585,9 @@
 =item B<optional> 1
 
 Because some of the input data files may not contain the column names
-that are listed in a particular plot, FMRTG provides two ways to handle
-missing data.  By default, FMRTG will generate a plot with I<*UNKNOWN*>
-data if the data is mission.  If you want FMRTG to not generate a plot
+that are listed in a particular plot, Orca provides two ways to handle
+missing data.  By default, Orca will generate a plot with I<*UNKNOWN*>
+data if the data is mission.  If you want Orca to not generate a plot
 if the data does not exist, then place
 
   optional 1
@@ -3614,7 +3620,7 @@
 
 =item B<rigid_min_max> 1
 
-Normally FMRTG will automatically expand the lower and upper limit if
+Normally Orca will automatically expand the lower and upper limit if
 the graph contains a value outside the valid range.  By setting the
 B<rigid_min_max> option, this is disabled.
 
@@ -3653,16 +3659,23 @@
 
 =head1 ARCHITECTURE ISSUES
 
-Because FMRTG is extremely IO intensive, I recommend that the host that
-locally mounts the web server content be the same machine that runs FMRTG.
-In addition, the RRD data files that FMRTG uses also require a good amount
-of IO.  The machine running FMRTG should always have the B<data_dir>
+Because Orca is extremely IO intensive, I recommend that the host that
+locally mounts the web server content be the same machine that runs Orca.
+In addition, the RRD data files that Orca uses also require a good amount
+of IO.  The machine running Orca should always have the B<data_dir>
 directory locally mounted.  It is more important this B<data_dir> be
 locally stored than B<html_dir> for performance concerns.
 
+=head1 MAILING LISTS
+
+Discussions regarding Orca take place on the mrtg-developers mailing
+list located at mrtg-developers at list.ee.ethz.ch.  To place yourself
+on the mailing list, send a message with the word subscribe to it
+to mrtg-developers-request at list.ee.ethz.ch.
+
 =head1 IMPLEMENTATION NOTES
 
-FMRTG makes very heavy use of references to hashes and arrays to store
+Orca makes very heavy use of references to hashes and arrays to store
 all of the different data it uses.
 
 The I<Digest::MD5> module is used to cache the result of some

Modified: trunk/orca/orca/Makefile
==============================================================================
--- trunk/orca/orca/Makefile	(original)
+++ trunk/orca/orca/Makefile	Sat Jul 13 18:28:24 2002
@@ -1,7 +1,7 @@
-all:	README fmrtg.man
+all:	README orca.man
 
-fmrtg.man:	fmrtg
+orca.man:	orca
 	pod2man $< > $@
 
-README:		fmrtg
+README:		orca
 	pod2text $< > $@

Modified: trunk/orca/orca/README
==============================================================================
--- trunk/orca/orca/README	(original)
+++ trunk/orca/orca/README	Sat Jul 13 18:28:24 2002
@@ -1,12 +1,12 @@
 NAME
-    fmrtg - Make HTML & GIF plots of daily, weekly, monthly & yearly
+    orca - Make HTML & GIF plots of daily, weekly, monthly & yearly
     data
 
 SYNOPSIS
-      fmrtg [-v [-v [-v]]] [-o] configuration_file
+      orca [-v [-v [-v]]] [-o] configuration_file
 
 DESCRIPTION
-    FMRTG is a tool useful for plotting arbitrary data from text
+    Orca is a tool useful for plotting arbitrary data from text
     files onto a directory on Web server. It has the following
     features:
 
@@ -34,38 +34,44 @@
       * Can be run under cron or it can sleep itself waiting for file updates
         based on when the file was last updated.
 
-    FMRTG is based the the RRD tool by Tobias Oetiker. While it is
-    similar to the other tools based on RRD, such as SMRTG and MRTG,
-    it is significantly different.
+    Orca is based the the RRD tool by Tobias Oetiker. While it is
+    similar to the other tools based on RRD, such as Cricket and
+    MRTG, it is significantly different. To see these other tools,
+    examine
+
+      http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
+
+    and
+
+      http://www.munitions.com/~jra/cricket/
 
 EXAMPLES
-    A small static example of FMRTG is at
+    A small static example of Orca is at
 
-    http://www.geocities.com/ResearchTriangle/Thinktank/4996/fmrtg-
-    example/
+      http://www.geocities.com/ResearchTriangle/Thinktank/4996/orca-example/
 
-    Please inform me of any other sites using FMRTG and I will
+    Please inform me of any other sites using Orca and I will
     include them here.
 
 REQUIREMENTS
-    I have used only version version 5.005_02 of Perl with FMRTG.
-    Because FMRTG makes very heavy use of references, it may or may
-    not work with older versions of Perl. I welcome feedback if
-    FMRTG works with older Perls.
+    I have used only version version 5.005_02 of Perl with Orca.
+    Because Orca makes very heavy use of references, it may or may
+    not work with older versions of Perl. I welcome feedback if Orca
+    works with older Perls.
 
-    FMRTG also requires several other Perl modules. These are:
+    Orca also requires several other Perl modules. These are:
 
       Math::IntervalSearch
        Version 1.00 or greater.
-       ftp://ftp.gps.caltech.edu/pub/blair/Perl/Math-Interpolate-1.00.tar.gz
-       http://www.perl.com/CPAN/authors/id/B/BZ/BZAJAC/Math-Interpolate-1.00.tar.gz
+       ftp://ftp.gps.caltech.edu/pub/blair/Perl/Math-Interpolate-1.01.tar.gz
+       http://www.perl.com/CPAN/authors/id/B/BZ/BZAJAC/Math-Interpolate-1.01.tar.gz
 
       Digest::MD5
        Version 2.00 or greater.
-       http://www.perl.com/CPAN/authors/id/GAAS/Digest-MD5-2.00.tar.gz
+       http://www.perl.com/CPAN/authors/id/GAAS/Digest-MD5-2.01.tar.gz
 
       RRD
-       Version 19981122.22 or greater.
+       Version 19981217.00 or greater.
        http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/3.0/
 
     The modules can be installed into your Perl tree with the
@@ -73,8 +79,8 @@
 
     Math::Interval:
 
-      % gunzip -c Math-Interpolate-1.00.tar.gz | tar xvf -
-      % cd Math-Interpolate-1.00
+      % gunzip -c Math-Interpolate-1.01.tar.gz | tar xvf -
+      % cd Math-Interpolate-1.01
       % perl Makefile.PL
       % make
       % make test
@@ -82,8 +88,8 @@
 
     Digest::MD5
 
-      % gunzip -c Digest-MD5-2.00.tar.gz | tar xvf -
-      % cd Digest-MD5-2.00
+      % gunzip -c Digest-MD5-2.01.tar.gz | tar xvf -
+      % cd Digest-MD5-2.01
       % perl Makefile.PL
       % make
       % make test
@@ -105,31 +111,31 @@
     optimization turned on.
 
 COMMAND LINE OPTIONS
-    FMRTG has only two command line options. They are:
+    Orca has only two command line options. They are:
 
-    -v: Verbose. Have FMRTG spit out more verbose messages. As you
+    -v: Verbose. Have Orca spit out more verbose messages. As you
     add more -v's to the command line, more messages are sent out.
-    Any more than three -v's are not used by FMRTG.
+    Any more than three -v's are not used by Orca.
 
-    -o: Once. This tells FMRTG to go through the steps of finding
+    -o: Once. This tells Orca to go through the steps of finding
     files, updating the RRDs, updating the GIFs, and creating the
-    HTML files once. Normally, FMRTG loops continuously looking for
+    HTML files once. Normally, Orca loops continuously looking for
     new and updated files.
 
-    After the command line options are listed, FMRTG takes one more
+    After the command line options are listed, Orca takes one more
     argument which is the name of the configuration file to use.
     Sample configuration files can be found in the sample_configs
     directory with the distribution of this tool.
 
 INSTALLATION AND CONFIGURATION
-    The first step in using FMRTG is to set up a configuration file
-    that instructs FMRTG on what to do. The configuration file is
+    The first step in using Orca is to set up a configuration file
+    that instructs Orca on what to do. The configuration file is
     based on a key/value pair structure. The key name must start at
     the beginning of a line. Lines that begin with whitespace are
     concatenated onto the the last key's value. This is the same
-    format as used by MRTG and SMRTG.
+    format as used by MRTG and Cricket.
 
-    There are three main groups of options in a FMRTG confg: general
+    There are three main groups of options in a Orca confg: general
     options, file specific options, and plot specific options.
     General options may be used by the file and plot specific
     options. If an option is required, then it is only placed one
@@ -141,9 +147,9 @@
   Required General Options
 
     state_file *filename*
-    For FMRTG to work efficiently, it saves the last modification
+    For Orca to work efficiently, it saves the last modification
     time of all input data files and the Unix epoch time when they
-    were last read by FMRTG into a state file. The value for
+    were last read by Orca into a state file. The value for
     state_file must be a valid, writable filename. If *filename*
     does not begin with a / and the base_dir option was set, then
     the base_dir directory will be prepended to the *filename*.
@@ -153,10 +159,10 @@
 
     html_dir *directory*
     html_dir specifies the root directory for the main index.html
-    and all underlying HTML and GIF files that FMRTG generates. This
+    and all underlying HTML and GIF files that Orca generates. This
     should not be a directory that normal users will edit. Ideally
     this directory should be on a disk locally attached to the host
-    running FMRTG, but is not necessary.
+    running Orca, but is not necessary.
 
     If *directory* does not begin with a / and the base_dir option
     was set, then the base_dir directory will be prepended to
@@ -164,9 +170,9 @@
 
     data_dir *directory*
     data_dir specifies the root directory for the location of the
-    RRD data files that FMRTG generates. For best performance, this
+    RRD data files that Orca generates. For best performance, this
     directory should be on a disk locally attached to the host
-    running FMRTG. Otherwise, the many IO operations that FMRTG
+    running Orca. Otherwise, the many IO operations that Orca
     performs will be greatly slowed down. It is more important this
     data_dir be locally stored than html_dir for performance
     concerns.
@@ -206,7 +212,7 @@
 
     warn_email *email_address* [*email_address* ...]
     warn_email takes a list of email addresses of people to email
-    when something goes wrong with either FMRTG or the input data
+    when something goes wrong with either Orca or the input data
     files. Currently email messages are sent out the the following
     circumstances:
 
@@ -235,7 +241,7 @@
     By default, expiring the GIF files is not enabled.
 
     find_times *hours:minutes* [*hours:minutes* ...]
-    The find_times option is used to tell FMRTG when to go and find
+    The find_times option is used to tell Orca when to go and find
     new files. This particularly useful when new input data files
     are created at midnight. In this case, something like
 
@@ -243,33 +249,33 @@
 
     would work.
 
-    By default, files are only searched for when FMRTG starts up.
+    By default, files are only searched for when Orca starts up.
 
     html_top_title *text* ...
-    The *text* is placed at the top of the main index.html that
-    FMRTG creates. By default, no addition text is placed at the top
-    of the main index.html.
+    The *text* is placed at the top of the main index.html that Orca
+    creates. By default, no addition text is placed at the top of
+    the main index.html.
 
     html_page_header *text* ...
-    The *text* is placed at the top of each HTML file that FMRTG
+    The *text* is placed at the top of each HTML file that Orca
     creates. By default, no additional text is placed at the top of
     each HTML file.
 
     html_page_footer *text* ...
-    The *text* is placed at the bottom of each HTML file that FMRTG
+    The *text* is placed at the bottom of each HTML file that Orca
     creates. By default, no additional text is placed at the bottom
     of each HTML file.
 
     sub_dir *directory*
-    In certain cases FMRTG will not create sub directories for the
+    In certain cases Orca will not create sub directories for the
     different groups of files that it processes. If you wish to
-    force FMRTG to create sub directories, then do this
+    force Orca to create sub directories, then do this
 
       sub_dir 1
 
   Files Options
 
-    The next step in configuring FMRTG is telling where to find the
+    The next step in configuring Orca is telling where to find the
     files to use as input, a description of the columns of data
     comprising the file, the interval at which the file is updated,
     and where the measurement time is stored in the file. This is
@@ -303,34 +309,33 @@
   Required Files Options
 
     find_files *path|regexp* [*path|regexp* ...]
-    The find_files option tells FMRTG what data files to use as its
+    The find_files option tells Orca what data files to use as its
     input. The arguments to find_files may be a simple filename, a
     complete path to a filename, or a regular expression to find
     files. The regular expression match is not the normal shell
     globbing that the Bourne shell, C shell or other shells use.
-    Rather, FMRTG uses the Perl regular expressions to find files.
+    Rather, Orca uses the Perl regular expressions to find files.
     For example:
 
       find_files /data/source1 /data/source2
 
-    will have FMRTG use /data/source1 and /data/source2 as the
-    inputs to FMRTG. This could have also been written as
+    will have Orca use /data/source1 and /data/source2 as the inputs
+    to Orca. This could have also been written as
 
       find_files /data/source\d
 
     and both data files will be used.
 
-    In the two above examples, FMRTG will assume that both data
-    files represent data from the same source. If this is not the
-    case, such as source1 is data from one place and source2 is data
-    from another place, then FMRTG needs to be told to treat the
-    data from each file as distinct data sources. This be
-    accomplished in two ways. The first is by creating another files
-    { ... } option set. However, this requires copying all of the
-    text and makes maintenance of the configuration file complex.
-    The second and recommend approach is to place ()'s around parts
-    of the regular expression to tell FMRTG how to distinguish the
-    two data files:
+    In the two above examples, Orca will assume that both data files
+    represent data from the same source. If this is not the case,
+    such as source1 is data from one place and source2 is data from
+    another place, then Orca needs to be told to treat the data from
+    each file as distinct data sources. This be accomplished in two
+    ways. The first is by creating another files { ... } option set.
+    However, this requires copying all of the text and makes
+    maintenance of the configuration file complex. The second and
+    recommend approach is to place ()'s around parts of the regular
+    expression to tell Orca how to distinguish the two data files:
 
       find_files /data/(source\d)
 
@@ -361,11 +366,11 @@
 
     column_description *column_name* [*column_name* ...]
     column_description first_line
-    For FMRTG to plot the data, it needs to be told what each column
+    For Orca to plot the data, it needs to be told what each column
     of data holds. This is accomplished by creating a text
     description for each column. There are two ways this may be
-    loaded into FMRTG. If the input data files for a files set do
-    not change, then the column names can be listed after
+    loaded into Orca. If the input data files for a files set do not
+    change, then the column names can be listed after
     column_description:
 
       column_description date in_packets/s out_packets/s
@@ -375,8 +380,8 @@
 
       column_description first_line
 
-    This informs FMRTG that it should read the first line of all the
-    input data files for the column description. FMRTG can handle
+    This informs Orca that it should read the first line of all the
+    input data files for the column description. Orca can handle
     different files in the same files set that have different number
     of columns and column descriptions. The only limitation here is
     that column descriptions are white space separated and
@@ -384,29 +389,29 @@
 
     date_source column_name *column_name*
     date_source file_mtime
-    The date_source option tells FMRTG where time and date of the
+    The date_source option tells Orca where time and date of the
     measurement is located. The first form of the date_source
     options lists the column name as given to column_description
     that contains the Unix epoch time. The second form with the
-    file_mtime argument tells FMRTG that the date and time for any
+    file_mtime argument tells Orca that the date and time for any
     new data in the file is the last modification time of the file.
 
     date_format *string*
     The date_format option is only required if the column_name
     argument to date_source is used. Current, this argument is not
-    used by FMRTG.
+    used by Orca.
 
   Optional Files Options
 
     reopen 1
-    Using the reopen option for a files set instructs FMRTG to close
+    Using the reopen option for a files set instructs Orca to close
     and reopen any input data files when there is new data to be
     read. This is of most use when an input data file is erased and
     rewritten by some other process.
 
   Plot Options
 
-    The final step is to tell FMRTG what plots to create and how to
+    The final step is to tell Orca what plots to create and how to
     create them. The general format for creating a plot is:
 
       plot {
@@ -447,9 +452,9 @@
 
     data *Perl expression*
     data *regular expression*
-    The data plot option tells FMRTG the data sources to use to
-    place in a single GIF plot. At least one data option is required
-    for a particular plot and as many as needed may be placed into a
+    The data plot option tells Orca the data sources to use to place
+    in a single GIF plot. At least one data option is required for a
+    particular plot and as many as needed may be placed into a
     single plot.
 
     Two forms of arguments to data are allowed. The first form
@@ -469,7 +474,7 @@
 
     The second form allows for matching column names that match a
     regular expression and plotting all of those columns that match
-    the regular expression in a single plot. To tell FMRTG that a
+    the regular expression in a single plot. To tell Orca that a
     regular expression is being used, then only a single non
     whitespace separated argument to data is allowed. In addition,
     the argument must contain at least one set of parentheses ()'s.
@@ -513,7 +518,7 @@
       .
       }
 
-    If the following data files are found by FMRTG
+    If the following data files are found by Orca
 
       /data/solaris-2.6/olympia/percol-1998-12-01
       /data/solaris-2.6/olympia/percol-1998-12-02
@@ -524,13 +529,13 @@
     with each plot containing the input and output number of packets
     per second.
 
-    By default, when FMRTG finds a plot set with a regular
-    expression match, it will only find one match, and then go on to
-    the next plot set. After it reaches the last plot set, it will
-    go back to the first plot set with a regular expression match
-    and look for the next data that matches the regular expression.
-    The net result of this is that the generated HTML files using
-    the above configuration will have links in this order:
+    By default, when Orca finds a plot set with a regular expression
+    match, it will only find one match, and then go on to the next
+    plot set. After it reaches the last plot set, it will go back to
+    the first plot set with a regular expression match and look for
+    the next data that matches the regular expression. The net
+    result of this is that the generated HTML files using the above
+    configuration will have links in this order:
 
       hme0 Input & Output Packets per Second
       hme0 Input & Output Kilobytes per Second
@@ -540,7 +545,7 @@
       hme1 Input & Output Errors per Second
 
     If you wanted to have the links listed in order of hme0 and
-    hme1, then you would add the flush_regexps option to tell FMRTG
+    hme1, then you would add the flush_regexps option to tell Orca
     to find all regular expression matches for a particular plot set
     and all plot sets before the plot set containing flush_regexps
     before continuing on to the next plot set. For example, if
@@ -576,7 +581,7 @@
     second option refers to the second data option, etc.
 
     data_type *type*
-    When defining data types, FMRTG uses the same data types as
+    When defining data types, Orca uses the same data types as
     provided by RRD. These are (a direct quote from the RRDcreate
     manual page):
 
@@ -621,7 +626,7 @@
     hexadecimal.
 
     flush_regexps 1
-    Using the flush_regexps option tells FMRTG to make sure that the
+    Using the flush_regexps option tells Orca to make sure that the
     plot set including this option and all previous plot sets have
     matched all of the columns with their regular expressions. See
     the above description of using regular expressions in the data
@@ -629,10 +634,10 @@
 
     optional 1
     Because some of the input data files may not contain the column
-    names that are listed in a particular plot, FMRTG provides two
-    ways to handle missing data. By default, FMRTG will generate a
+    names that are listed in a particular plot, Orca provides two
+    ways to handle missing data. By default, Orca will generate a
     plot with **UNKNOWN** data if the data is mission. If you want
-    FMRTG to not generate a plot if the data does not exist, then
+    Orca to not generate a plot if the data does not exist, then
     place
 
       optional 1
@@ -660,7 +665,7 @@
     you select with the graphing functions.
 
     rigid_min_max 1
-    Normally FMRTG will automatically expand the lower and upper
+    Normally Orca will automatically expand the lower and upper
     limit if the graph contains a value outside the valid range. By
     setting the rigid_min_max option, this is disabled.
 
@@ -696,16 +701,22 @@
     that is placed below the GIF plot.
 
 ARCHITECTURE ISSUES
-    Because FMRTG is extremely IO intensive, I recommend that the
+    Because Orca is extremely IO intensive, I recommend that the
     host that locally mounts the web server content be the same
-    machine that runs FMRTG. In addition, the RRD data files that
-    FMRTG uses also require a good amount of IO. The machine running
-    FMRTG should always have the data_dir directory locally mounted.
+    machine that runs Orca. In addition, the RRD data files that
+    Orca uses also require a good amount of IO. The machine running
+    Orca should always have the data_dir directory locally mounted.
     It is more important this data_dir be locally stored than
     html_dir for performance concerns.
 
+MAILING LISTS
+    Discussions regarding Orca take place on the mrtg-developers
+    mailing list located at mrtg-developers at list.ee.ethz.ch. To
+    place yourself on the mailing list, send a message with the word
+    subscribe to it to mrtg-developers-request at list.ee.ethz.ch.
+
 IMPLEMENTATION NOTES
-    FMRTG makes very heavy use of references to hashes and arrays to
+    Orca makes very heavy use of references to hashes and arrays to
     store all of the different data it uses.
 
     The *Digest::MD5* module is used to cache the result of some

Modified: trunk/orca/orca/orca.man
==============================================================================
--- trunk/orca/orca/orca.man	(original)
+++ trunk/orca/orca/orca.man	Sat Jul 13 18:28:24 2002
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH FMRTG 1 "perl 5.005, patch 02" "10/Dec/98" "User Contributed Perl Documentation"
+.TH ORCA 1 "perl 5.005, patch 02" "6/Jan/99" "User Contributed Perl Documentation"
 .UC
 .if n .hy 0
 .if n .na
@@ -188,14 +188,14 @@
 .\}
 .rm #[ #] #H #V #F C
 .SH "NAME"
-fmrtg \- Make HTML & GIF plots of daily, weekly, monthly & yearly data
+orca \- Make HTML & GIF plots of daily, weekly, monthly & yearly data
 .SH "SYNOPSIS"
 .PP
 .Vb 1
-\&  fmrtg [-v [-v [-v]]] [-o] configuration_file
+\&  orca [-v [-v [-v]]] [-o] configuration_file
 .Ve
 .SH "DESCRIPTION"
-FMRTG is a tool useful for plotting arbitrary data from text files onto
+Orca is a tool useful for plotting arbitrary data from text files onto
 a directory on Web server.  It has the following features:
 .PP
 .Vb 23
@@ -223,38 +223,48 @@
 \&  * Can be run under cron or it can sleep itself waiting for file updates
 \&    based on when the file was last updated.
 .Ve
-FMRTG is based the the RRD tool by Tobias Oetiker.  While it is similar to
-the other tools based on RRD, such as SMRTG and MRTG, it is significantly
-different.
-.SH "EXAMPLES"
-A small static example of FMRTG is at
+Orca is based the the RRD tool by Tobias Oetiker.  While it is similar to
+the other tools based on RRD, such as Cricket and MRTG, it is significantly
+different.  To see these other tools, examine
 .PP
-http://www.geocities.com/ResearchTriangle/Thinktank/4996/fmrtg-example/
+.Vb 1
+\&  http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
+.Ve
+and
+.PP
+.Vb 1
+\&  http://www.munitions.com/~jra/cricket/
+.Ve
+.SH "EXAMPLES"
+A small static example of Orca is at
 .PP
-Please inform me of any other sites using FMRTG and I will include them
+.Vb 1
+\&  http://www.geocities.com/ResearchTriangle/Thinktank/4996/orca-example/
+.Ve
+Please inform me of any other sites using Orca and I will include them
 here.
 .SH "REQUIREMENTS"
-I have used only version version 5.005_02 of Perl with FMRTG.  Because
-FMRTG makes very heavy use of references, it may or may not work
-with older versions of Perl.  I welcome feedback if FMRTG works with
+I have used only version version 5.005_02 of Perl with Orca.  Because
+Orca makes very heavy use of references, it may or may not work
+with older versions of Perl.  I welcome feedback if Orca works with
 older Perls.
 .PP
-FMRTG also requires several other Perl modules.  These are:
+Orca also requires several other Perl modules.  These are:
 .PP
 .Vb 4
 \&  Math::IntervalSearch
 \&   Version 1.00 or greater.
-\&   ftp://ftp.gps.caltech.edu/pub/blair/Perl/Math-Interpolate-1.00.tar.gz
-\&   http://www.perl.com/CPAN/authors/id/B/BZ/BZAJAC/Math-Interpolate-1.00.tar.gz
+\&   ftp://ftp.gps.caltech.edu/pub/blair/Perl/Math-Interpolate-1.01.tar.gz
+\&   http://www.perl.com/CPAN/authors/id/B/BZ/BZAJAC/Math-Interpolate-1.01.tar.gz
 .Ve
 .Vb 3
 \&  Digest::MD5
 \&   Version 2.00 or greater.
-\&   http://www.perl.com/CPAN/authors/id/GAAS/Digest-MD5-2.00.tar.gz
+\&   http://www.perl.com/CPAN/authors/id/GAAS/Digest-MD5-2.01.tar.gz
 .Ve
 .Vb 3
 \&  RRD
-\&   Version 19981122.22 or greater.
+\&   Version 19981217.00 or greater.
 \&   http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/3.0/
 .Ve
 The modules can be installed into your Perl tree with the following
@@ -263,8 +273,8 @@
 Math::Interval:
 .PP
 .Vb 6
-\&  % gunzip -c Math-Interpolate-1.00.tar.gz | tar xvf -
-\&  % cd Math-Interpolate-1.00
+\&  % gunzip -c Math-Interpolate-1.01.tar.gz | tar xvf -
+\&  % cd Math-Interpolate-1.01
 \&  % perl Makefile.PL
 \&  % make
 \&  % make test
@@ -273,8 +283,8 @@
 Digest::MD5
 .PP
 .Vb 6
-\&  % gunzip -c Digest-MD5-2.00.tar.gz | tar xvf -
-\&  % cd Digest-MD5-2.00
+\&  % gunzip -c Digest-MD5-2.01.tar.gz | tar xvf -
+\&  % cd Digest-MD5-2.01
 \&  % perl Makefile.PL
 \&  % make
 \&  % make test
@@ -296,28 +306,28 @@
 For large installations, I recommend that RRD be compiled with
 optimization turned on.
 .SH "COMMAND LINE OPTIONS"
-FMRTG has only two command line options.  They are:
+Orca has only two command line options.  They are:
 .PP
-\fB\-v\fR: Verbose.  Have FMRTG spit out more verbose messages.  As you add
+\fB\-v\fR: Verbose.  Have Orca spit out more verbose messages.  As you add
 more \fB\-v\fR's to the command line, more messages are sent out.  Any more
-than three \fB\-v\fR's are not used by FMRTG.
+than three \fB\-v\fR's are not used by Orca.
 .PP
-\fB\-o\fR: Once.  This tells FMRTG to go through the steps of finding files,
+\fB\-o\fR: Once.  This tells Orca to go through the steps of finding files,
 updating the RRDs, updating the GIFs, and creating the HTML files once.
-Normally, FMRTG loops continuously looking for new and updated files.
+Normally, Orca loops continuously looking for new and updated files.
 .PP
-After the command line options are listed, FMRTG takes one more argument
+After the command line options are listed, Orca takes one more argument
 which is the name of the configuration file to use.  Sample configuration
 files can be found in the sample_configs directory with the distribution
 of this tool.
 .SH "INSTALLATION AND CONFIGURATION"
-The first step in using FMRTG is to set up a configuration file that
-instructs FMRTG on what to do.  The configuration file is based on a
+The first step in using Orca is to set up a configuration file that
+instructs Orca on what to do.  The configuration file is based on a
 key/value pair structure.  The key name must start at the beginning of
 a line.  Lines that begin with whitespace are concatenated onto the the
-last key's value.  This is the same format as used by MRTG and SMRTG.
+last key's value.  This is the same format as used by MRTG and Cricket.
 .PP
-There are three main groups of options in a FMRTG confg: general options,
+There are three main groups of options in a Orca confg: general options,
 file specific options, and plot specific options.  General options may
 be used by the file and plot specific options.  If an option is required,
 then it is only placed one time into the configuration file.
@@ -326,9 +336,9 @@
 These are the required options:
 .Sh "Required General Options"
 .Ip "\fBstate_file\fR \fIfilename\fR" 0
-For \s-1FMRTG\s0 to work efficiently, it saves the last modification time of
+For Orca to work efficiently, it saves the last modification time of
 all input data files and the Unix epoch time when they were last read
-by \s-1FMRTG\s0 into a state file.  The value for \fBstate_file\fR must be a
+by Orca into a state file.  The value for \fBstate_file\fR must be a
 valid, writable filename.  If \fIfilename\fR does not begin with a / and
 the \fBbase_dir\fR option was set, then the \fBbase_dir\fR directory will be
 prepended to the \fIfilename\fR.
@@ -337,18 +347,18 @@
 this file will not be large.
 .Ip "\fBhtml_dir\fR \fIdirectory\fR" 0
 \fBhtml_dir\fR specifies the root directory for the main index.html and
-all underlying \s-1HTML\s0 and \s-1GIF\s0 files that \s-1FMRTG\s0 generates.  This should
+all underlying \s-1HTML\s0 and \s-1GIF\s0 files that Orca generates.  This should
 not be a directory that normal users will edit.  Ideally this directory
-should be on a disk locally attached to the host running \s-1FMRTG\s0, but is
+should be on a disk locally attached to the host running Orca, but is
 not necessary.
 .PP
 If \fIdirectory\fR does not begin with a / and the \fBbase_dir\fR option was
 set, then the \fBbase_dir\fR directory will be prepended to \fIdirectory\fR.
 .Ip "\fBdata_dir\fR \fIdirectory\fR" 0
 \fBdata_dir\fR specifies the root directory for the location of the \s-1RRD\s0 data
-files that \s-1FMRTG\s0 generates.  For best performance, this directory should
-be on a disk locally attached to the host running \s-1FMRTG\s0.  Otherwise,
-the many \s-1IO\s0 operations that \s-1FMRTG\s0 performs will be greatly slowed down.
+files that Orca generates.  For best performance, this directory should
+be on a disk locally attached to the host running Orca.  Otherwise,
+the many \s-1IO\s0 operations that Orca performs will be greatly slowed down.
 It is more important this \fBdata_dir\fR be locally stored than \fBhtml_dir\fR
 for performance concerns.
 .PP
@@ -382,7 +392,7 @@
 late_interval.
 .Ip "\fBwarn_email\fR \fIemail_address\fR [\fIemail_address\fR ...]" 0
 \fBwarn_email\fR takes a list of email addresses of people to email
-when something goes wrong with either \s-1FMRTG\s0 or the input data files.
+when something goes wrong with either Orca or the input data files.
 Currently email messages are sent out the the following circumstances:
 .PP
 .Vb 2
@@ -410,7 +420,7 @@
 .Ve
 By default, expiring the \s-1GIF\s0 files is not enabled.
 .Ip "\fBfind_times\fR \fIhours:minutes\fR [\fIhours:minutes\fR ...]" 0
-The \fBfind_times\fR option is used to tell \s-1FMRTG\s0 when to go and find new
+The \fBfind_times\fR option is used to tell Orca when to go and find new
 files.  This particularly useful when new input data files are created
 at midnight.  In this case, something like
 .PP
@@ -419,27 +429,27 @@
 .Ve
 would work.
 .PP
-By default, files are only searched for when \s-1FMRTG\s0 starts up.
+By default, files are only searched for when Orca starts up.
 .Ip "\fBhtml_top_title\fR \fItext\fR ..." 0
-The \fItext\fR is placed at the top of the main index.html that \s-1FMRTG\s0
+The \fItext\fR is placed at the top of the main index.html that Orca
 creates.  By default, no addition text is placed at the top of the
 main index.html.
 .Ip "\fBhtml_page_header\fR \fItext\fR ..." 0
-The \fItext\fR is placed at the top of each \s-1HTML\s0 file that \s-1FMRTG\s0 creates.
+The \fItext\fR is placed at the top of each \s-1HTML\s0 file that Orca creates.
 By default, no additional text is placed at the top of each \s-1HTML\s0 file.
 .Ip "\fBhtml_page_footer\fR \fItext\fR ..." 0
-The \fItext\fR is placed at the bottom of each \s-1HTML\s0 file that \s-1FMRTG\s0 creates.
+The \fItext\fR is placed at the bottom of each \s-1HTML\s0 file that Orca creates.
 By default, no additional text is placed at the bottom of each \s-1HTML\s0 file.
 .Ip "\fBsub_dir\fR \fIdirectory\fR" 0
-In certain cases \s-1FMRTG\s0 will not create sub directories for the different
-groups of files that it processes.  If you wish to force \s-1FMRTG\s0 to create
+In certain cases Orca will not create sub directories for the different
+groups of files that it processes.  If you wish to force Orca to create
 sub directories, then do this
 .PP
 .Vb 1
 \&  sub_dir 1
 .Ve
 .Sh "Files Options"
-The next step in configuring \s-1FMRTG\s0 is telling where to find the files to
+The next step in configuring Orca is telling where to find the files to
 use as input, a description of the columns of data comprising the file,
 the interval at which the file is updated, and where the measurement
 time is stored in the file.  This is stored into a files set.
@@ -471,33 +481,33 @@
 An unlimited number of file sets may be listed.
 .Sh "Required Files Options"
 .Ip "\fBfind_files\fR \fIpath|regexp\fR [\fIpath|regexp\fR ...]" 0
-The \fBfind_files\fR option tells \s-1FMRTG\s0 what data files to use as
+The \fBfind_files\fR option tells Orca what data files to use as
 its input.  The arguments to \fBfind_files\fR may be a simple filename,
 a complete path to a filename, or a regular expression to find files.
 The regular expression match is not the normal shell globbing that the
-Bourne shell, C shell or other shells use.  Rather, \s-1FMRTG\s0 uses the Perl
+Bourne shell, C shell or other shells use.  Rather, Orca uses the Perl
 regular expressions to find files.  For example:
 .PP
 .Vb 1
 \&  find_files /data/source1 /data/source2
 .Ve
-will have \s-1FMRTG\s0 use /data/source1 and /data/source2 as the inputs
-to \s-1FMRTG\s0.  This could have also been written as
+will have Orca use /data/source1 and /data/source2 as the inputs
+to Orca.  This could have also been written as
 .PP
 .Vb 1
 \&  find_files /data/source\ed
 .Ve
 and both data files will be used.
 .PP
-In the two above examples, \s-1FMRTG\s0 will assume that both data files
+In the two above examples, Orca will assume that both data files
 represent data from the same source.  If this is not the case, such as
 source1 is data from one place and source2 is data from another place,
-then \s-1FMRTG\s0 needs to be told to treat the data from each file as distinct
+then Orca needs to be told to treat the data from each file as distinct
 data sources.  This be accomplished in two ways.  The first is by creating
 another files { ... } option set.  However, this requires copying all
 of the text and makes maintenance of the configuration file complex.
 The second and recommend approach is to place ()'s around parts of the
-regular expression to tell \s-1FMRTG\s0 how to distinguish the two data files:
+regular expression to tell Orca how to distinguish the two data files:
 .PP
 .Vb 1
 \&  find_files /data/(source\ed)
@@ -527,9 +537,9 @@
 the input data files listed in this files set.
 .Ip "\fBcolumn_description\fR \fIcolumn_name\fR [\fIcolumn_name\fR ...]" 0
 .Ip "\fBcolumn_description\fR first_line" 0
-For \s-1FMRTG\s0 to plot the data, it needs to be told what each column of
+For Orca to plot the data, it needs to be told what each column of
 data holds.  This is accomplished by creating a text description for
-each column.  There are two ways this may be loaded into \s-1FMRTG\s0.  If the
+each column.  There are two ways this may be loaded into Orca.  If the
 input data files for a files set do not change, then the column names
 can be listed after \fBcolumn_description\fR:
 .PP
@@ -542,31 +552,31 @@
 .Vb 1
 \&  column_description first_line
 .Ve
-This informs \s-1FMRTG\s0 that it should read the first line of all the input
-data files for the column description.  \s-1FMRTG\s0 can handle different files
+This informs Orca that it should read the first line of all the input
+data files for the column description.  Orca can handle different files
 in the same files set that have different number of columns and column
 descriptions.  The only limitation here is that column descriptions
 are white space separated and therefore, no spaces are allowed in the
 column descriptions.
 .Ip "\fBdate_source\fR column_name \fIcolumn_name\fR" 0
 .Ip "\fBdate_source\fR file_mtime" 0
-The \fBdate_source\fR option tells \s-1FMRTG\s0 where time and date of the
+The \fBdate_source\fR option tells Orca where time and date of the
 measurement is located.  The first form of the \fBdate_source\fR options
 lists the column name as given to \fBcolumn_description\fR that contains
 the Unix epoch time.  The second form with the file_mtime argument tells
-\s-1FMRTG\s0 that the date and time for any new data in the file is the last
+Orca that the date and time for any new data in the file is the last
 modification time of the file.
 .Ip "\fBdate_format\fR \fIstring\fR" 0
 The \fBdate_format\fR option is only required if the column_name argument
-to \fBdate_source\fR is used.  Current, this argument is not used by \s-1FMRTG\s0.
+to \fBdate_source\fR is used.  Current, this argument is not used by Orca.
 .Sh "Optional Files Options"
 .Ip "\fBreopen\fR 1" 0
-Using the \fBreopen\fR option for a files set instructs \s-1FMRTG\s0 to close
+Using the \fBreopen\fR option for a files set instructs Orca to close
 and reopen any input data files when there is new data to be read.
 This is of most use when an input data file is erased and rewritten by
 some other process.
 .Sh "Plot Options"
-The final step is to tell \s-1FMRTG\s0 what plots to create and how to create
+The final step is to tell Orca what plots to create and how to create
 them.  The general format for creating a plot is:
 .PP
 .Vb 13
@@ -606,7 +616,7 @@
 set may be put into a single plot.
 .Ip "\fBdata\fR \fIPerl expression\fR" 0
 .Ip "\fBdata\fR \fIregular expression\fR" 0
-The \fBdata\fR plot option tells \s-1FMRTG\s0 the data sources to use to place
+The \fBdata\fR plot option tells Orca the data sources to use to place
 in a single \s-1GIF\s0 plot.  At least one \fBdata\fR option is required for a
 particular plot and as many as needed may be placed into a single plot.
 .PP
@@ -627,7 +637,7 @@
 .Ve
 The second form allows for matching column names that match a regular
 expression and plotting all of those columns that match the regular
-expression in a single plot.  To tell \s-1FMRTG\s0 that a regular expression
+expression in a single plot.  To tell Orca that a regular expression
 is being used, then only a single non whitespace separated argument to
 \fBdata\fR is allowed.  In addition, the argument must contain at least one
 set of parentheses ()'s.  When a regular expression matches a column name,
@@ -674,7 +684,7 @@
 \&  .
 \&  }
 .Ve
-If the following data files are found by \s-1FMRTG\s0
+If the following data files are found by Orca
 .PP
 .Vb 4
 \&  /data/solaris-2.6/olympia/percol-1998-12-01
@@ -685,7 +695,7 @@
 then separate plots will be created for olympia and sunridge, with each
 plot containing the input and output number of packets per second.
 .PP
-By default, when \s-1FMRTG\s0 finds a plot set with a regular expression
+By default, when Orca finds a plot set with a regular expression
 match, it will only find one match, and then go on to the next plot set.
 After it reaches the last plot set, it will go back to the first plot set
 with a regular expression match and look for the next data that matches
@@ -701,7 +711,7 @@
 \&  hme1 Input & Output Errors per Second
 .Ve
 If you wanted to have the links listed in order of hme0 and hme1,
-then you would add the \fBflush_regexps\fR option to tell \s-1FMRTG\s0 to find
+then you would add the \fBflush_regexps\fR option to tell Orca to find
 all regular expression matches for a particular plot set and all plot
 sets before the plot set containing \fBflush_regexps\fR before continuing
 on to the next plot set.  For example, if
@@ -737,7 +747,7 @@
 particular type sets the option for the first \fBdata\fR option, the second
 option refers to the second \fBdata\fR option, etc.
 .Ip "\fBdata_type\fR \fItype\fR" 0
-When defining data types, \s-1FMRTG\s0 uses the same data types as provided
+When defining data types, Orca uses the same data types as provided
 by \s-1RRD\s0.  These are (a direct quote from the RRDcreate manual page):
 .PP
 \fItype\fR can be one of the following: \fB\s-1GAUGE\s0\fR this is for things like
@@ -778,15 +788,15 @@
 The optional \fBcolor\fR option specifies the color to use for a particular
 plot.  The color should be of the form \fIrrggbb\fR in hexadecimal.
 .Ip "\fBflush_regexps\fR 1" 0
-Using the \fBflush_regexps\fR option tells \s-1FMRTG\s0 to make sure that the plot
+Using the \fBflush_regexps\fR option tells Orca to make sure that the plot
 set including this option and all previous plot sets have matched all of
 the columns with their regular expressions.  See the above description
 of using regular expressions in the \fBdata\fR option for an example.
 .Ip "\fBoptional\fR 1" 0
 Because some of the input data files may not contain the column names
-that are listed in a particular plot, \s-1FMRTG\s0 provides two ways to handle
-missing data.  By default, \s-1FMRTG\s0 will generate a plot with \fI*\s-1UNKNOWN\s0*\fR
-data if the data is mission.  If you want \s-1FMRTG\s0 to not generate a plot
+that are listed in a particular plot, Orca provides two ways to handle
+missing data.  By default, Orca will generate a plot with \fI*\s-1UNKNOWN\s0*\fR
+data if the data is mission.  If you want Orca to not generate a plot
 if the data does not exist, then place
 .PP
 .Vb 1
@@ -809,7 +819,7 @@
 By default this will be auto-configured from the data you select with
 the graphing functions.
 .Ip "\fBrigid_min_max\fR 1" 0
-Normally \s-1FMRTG\s0 will automatically expand the lower and upper limit if
+Normally Orca will automatically expand the lower and upper limit if
 the graph contains a value outside the valid range.  By setting the
 \fBrigid_min_max\fR option, this is disabled.
 .Ip "\fBtitle\fR <text>" 0
@@ -836,14 +846,19 @@
 The \fBlegend\fR option specifies for a single data source the comment that
 is placed below the \s-1GIF\s0 plot.
 .SH "ARCHITECTURE ISSUES"
-Because FMRTG is extremely IO intensive, I recommend that the host that
-locally mounts the web server content be the same machine that runs FMRTG.
-In addition, the RRD data files that FMRTG uses also require a good amount
-of IO.  The machine running FMRTG should always have the \fBdata_dir\fR
+Because Orca is extremely IO intensive, I recommend that the host that
+locally mounts the web server content be the same machine that runs Orca.
+In addition, the RRD data files that Orca uses also require a good amount
+of IO.  The machine running Orca should always have the \fBdata_dir\fR
 directory locally mounted.  It is more important this \fBdata_dir\fR be
 locally stored than \fBhtml_dir\fR for performance concerns.
+.SH "MAILING LISTS"
+Discussions regarding Orca take place on the mrtg-developers mailing
+list located at mrtg-developers at list.ee.ethz.ch.  To place yourself
+on the mailing list, send a message with the word subscribe to it
+to mrtg-developers-request at list.ee.ethz.ch.
 .SH "IMPLEMENTATION NOTES"
-FMRTG makes very heavy use of references to hashes and arrays to store
+Orca makes very heavy use of references to hashes and arrays to store
 all of the different data it uses.
 .PP
 The \fIDigest::MD5\fR module is used to cache the result of some
@@ -860,8 +875,8 @@
 Zajac <blair at geostaff.com>.
 
 .rn }` ''
-.IX Title "FMRTG 1"
-.IX Name "fmrtg - Make HTML & GIF plots of daily, weekly, monthly & yearly data"
+.IX Title "ORCA 1"
+.IX Name "orca - Make HTML & GIF plots of daily, weekly, monthly & yearly data"
 
 .IX Header "NAME"
 
@@ -975,5 +990,7 @@
 
 .IX Header "ARCHITECTURE ISSUES"
 
+.IX Header "MAILING LISTS"
+
 .IX Header "IMPLEMENTATION NOTES"
 

Modified: trunk/orca/TODO
==============================================================================
--- trunk/orca/TODO	(original)
+++ trunk/orca/TODO	Sat Jul 13 18:28:24 2002
@@ -1,12 +1,13 @@
-fmrtg:
+orca:
+	Make it easier to install and get running
 	Lock file
 	Arbitrary date reading
-	Use SMRTG's configuration ConfigTree?????
+	Use Cricket's configuration ConfigTree?????
 	More configuration file defaults
 	Better date loading support
 	Make plots from multiple files sets: delete source files_key and put
 		it into data
-	Update HTML files if a new file is found with a new group.
+	Update HTML files if a new file is found with a new group
 
 percollator.se:
 	Better documentation

Added: trunk/orca/percollator/percol_column
==============================================================================
--- trunk/orca/percollator/percol_column	(original)
+++ trunk/orca/percollator/percol_column	Sat Jul 13 18:28:24 2002
@@ -0,0 +1,137 @@
+#!/home/bzajac/opt-sparc-solaris/perl5/bin/perl -w
+
+use strict;
+
+$| = 1;
+
+# This is the list of columns to plot.
+my @column_titles;
+
+# Plot the maximum data.
+my $display_max = 0;
+
+# The default width of columns.
+my $col_width             = 9;
+my $string_format         = "%${col_width}s";
+my $number_format         = "%${col_width}.2f";
+my @default_column_titles = qw(httpop/s http/p5s httpb/s NoCP);
+
+while (@ARGV and $ARGV[0] =~ /^-\w/) {
+  my $arg = shift;
+  if ($arg eq '-c') {
+    push(@column_titles, shift);
+  }
+  elsif ($arg eq '-m') {
+    $display_max = 1;
+  }
+}
+
+unless (@ARGV) {
+  print STDERR <<"END";
+usage: $0 [-c column_name] [-m] files ...
+  -c add the name of a column to print out
+  -m instead of printing all the data, show only the maximum value
+If no -c options are given, then by default the following column titles
+are used:
+  @default_column_titles
+END
+  exit 1;
+}
+
+# If no column titles were set, then choose these.
+ at column_titles = @default_column_titles unless @column_titles;
+
+# Unless the maximum is choosen, add the date to the list of columns.
+unshift(@column_titles, 'locltime');
+
+# Find the length of the longest file.
+my $col1_length = 0;
+foreach my $file (@ARGV) {
+  my $len = length($file);
+  $col1_length = $len if $len > $col1_length;
+}
+my $col1_format = "%${col1_length}s ";
+
+for (my $a=0; $a<@ARGV; ++$a) {
+  my $file = $ARGV[$a];
+  open(FILE, $file) or die "$0: unable to open `$file' for reading: $!\n";
+
+  my @line = split(' ', <FILE>);
+  my @column_pos;
+  my @data;
+
+  # Find the columns that contain the names.
+  my @col_titles = @column_titles;
+  for (my $i=0; $i<@col_titles; ++$i) {
+    my $name = $col_titles[$i];
+    my $col = -1;
+    for (my $j=0; $j<@line; ++$j) {
+      if ($line[$j] =~ /$name/) {
+        $col = $j;
+        $col_titles[$i] = $line[$j];
+        last;
+      }
+    }
+    die "$0: cannot column matching `$name' in $file.\n" if $col == -1;
+    push(@column_pos, $col);
+    push(@data, -1e20);
+  }
+
+  printf $col1_format, "Machine";
+  grep { printf "$string_format ", $_ } @col_titles;
+  print "\n";
+
+  while (<FILE>) {
+    my @line = split;
+    my @d = @line[@column_pos];
+    if ($display_max) {
+      for (my $i=0; $i<@data; ++$i) {
+        if (is_numeric($d[$i])) {
+          $data[$i] = $d[$i] if $d[$i] > $data[$i];
+        }
+        else {
+          $data[$i] = $d[$i];
+        }
+      }
+    }
+    else {
+      printf $col1_format, $file;
+      foreach my $d (@d) {
+        printf is_numeric($d) ? "$number_format " : "$string_format ", $d;
+      }
+      print "\n";
+    }
+  }
+
+  close(FILE);
+
+  if ($display_max) {
+    printf $col1_format, $file;
+    foreach my $d (@data) {
+      printf is_numeric($d) ? "$number_format " : "$string_format ", $d;
+    }
+    print "\n";
+  }
+  print "\n" if $a < @ARGV -1;
+}
+
+exit 0;
+
+sub getnum {
+  use POSIX qw(strtod);
+  my $str = shift;
+  $str =~ s/^\s+//;
+  $str =~ s/\s+$//;
+  $! = 0;
+  my($num, $unparsed) = strtod($str);
+  if (($str eq '') || ($unparsed != 0) || $!) {
+    return undef;
+  } else {
+    return $num;
+  }
+}
+
+sub is_numeric {
+  my $a = shift;
+  defined getnum($a);
+}

Modified: trunk/orca/percollator/start_percol
==============================================================================
--- trunk/orca/percollator/start_percol	(original)
+++ trunk/orca/percollator/start_percol	Sat Jul 13 18:28:24 2002
@@ -7,7 +7,7 @@
 # base directory for the statistics.  Underneath STATSDIR is a bin/ and
 # stats_percollator/ directory.
 AWK=/usr/public/bin/gawk
-STATSDIR=/home/bzajac/Code/MRTG/bzajac/percollator
+STATSDIR=/home/bzajac/Code/Orca/bzajac/percollator
 
 # Get the real hostname without any trailing .*.
 uname=`/usr/bin/uname -n | /usr/bin/cut -d. -f1`

Modified: trunk/orca/percollator/restart_percol
==============================================================================
--- trunk/orca/percollator/restart_percol	(original)
+++ trunk/orca/percollator/restart_percol	Sat Jul 13 18:28:24 2002
@@ -3,7 +3,7 @@
 # This script runs percollator.se with the proper options for our site.
 
 # Set this variable.
-STATSDIR=/home/bzajac/Code/MRTG/bzajac/percollator
+STATSDIR=/home/bzajac/Code/Orca/bzajac/percollator
 
 # Kill any running percollators.
 $STATSDIR/bin/stop_percol

Modified: trunk/orca/percollator/README
==============================================================================
--- trunk/orca/percollator/README	(original)
+++ trunk/orca/percollator/README	Sat Jul 13 18:28:24 2002
@@ -1,14 +1,19 @@
 This directory contains several files for getting percollator.se running
 on your system.
 
-When you install the FMRTG/percollator.se combination, you are going
+Tools:
+   percol_column
+   Perl script to show the contents of only a few columns of data from
+   percollator.se output.
+
+When you install the Orca/percollator.se combination, you are going
 to be running percollator.se on all systems that you wish to monitor
-and running FMRTG on one host.  The percollator.se programs should all
-place their data into a single NFS mounted directory where FMRTG will
-collect it and plot it.  It is not too important that FMRTG have the
+and running Orca on one host.  The percollator.se programs should all
+place their data into a single NFS mounted directory where Orca will
+collect it and plot it.  It is not too important that Orca have the
 data directory that percollator.se uses locally mounted, since it is
 only read.  More importantly are the considerations on where the data_dir
-and html_dir.  Please see the descriptions of these options in fmrtg's
+and html_dir.  Please see the descriptions of these options in Orca's
 manual page for a more thorough discussion.
 
 To install percollator.se, you need to perform the following steps:
@@ -39,5 +44,5 @@
 5) Run the start_percol script on each system as root.  It should create
    the needed directories under STATSDIR/stats_percollator.
 
-6) Update the fmrtg/sample_configs/percollator.cfg file to look in the
+6) Update the orca/sample_configs/percollator.cfg file to look in the
    new STATSDIR/stats_percollator directory.

Modified: trunk/orca/CHANGES
==============================================================================
--- trunk/orca/CHANGES	(original)
+++ trunk/orca/CHANGES	Sat Jul 13 18:28:24 2002
@@ -1,3 +1,22 @@
+Wed Jan  6 09:47:44 PST 1999
+
+	Change the program's name from FMRTG to Orca.
+
+	Change all references of SMRTG to Cricket.
+
+	Version 0.14.
+
+Fri Dec 18 13:10:47 PST 1998
+
+	Change all occurances of MRTG in fmrtg to FMRTG.
+
+Thu Dec 10 16:47:20 PST 1998
+
+	Add percol_column to the list of programs in the percollator
+	directory.  This program makes it easy to read several columns of
+	data from a percollator.se output file instead of trying to look
+	at 1000 character lines that percollator.se generally outputs.
+
 Thu Dec 10 12:50:19 PST 1998
 
 	Found an extra loop in creating the HTML files.  They are now

Modified: trunk/orca/README
==============================================================================
--- trunk/orca/README	(original)
+++ trunk/orca/README	Sat Jul 13 18:28:24 2002
@@ -1,9 +1,9 @@
-This package contains two main tools: FMRTG and percollator.se.
+This package contains two main tools: Orca and percollator.se.
 
-FMRTG
+Orca
 =====
 
-FMRTG is a tool useful for plotting arbitrary data from text files onto
+Orca is a tool useful for plotting arbitrary data from text files onto
 a directory on a Web server.  It has the following features:
 
   * Configuration file based.
@@ -30,22 +30,22 @@
   * Can be run under cron or it can sleep itself waiting for file updates
     based on when the file was last updated.
 
-An example of the output generated by FMRTG is located at:
+An example of the output generated by Orca is located at:
 
-http://www.geocities.com/ResearchTriangle/Thinktank/4996/fmrtg-example/
+http://www.geocities.com/ResearchTriangle/Thinktank/4996/orca-example/
 
-FMRTG is written completely in Perl.  To install, configure and use
-FMRTG read the fmrtg.doc file.  Some sample configuration files for
-FMRTG can be found in the sample_configs directory.
+Orca is written completely in Perl.  To install, configure and use
+Orca read the orca/README file.  Some sample configuration files for
+Orca can be found in the sample_configs directory.
 
-FMRTG is based on the RRD tool written by Tobias Oetiker.  To really
-understand FMRTG you should understand RRD.  Get RRD from
+Orca is based on the RRD tool written by Tobias Oetiker.  To really
+understand Orca you should understand RRD.  Get RRD from
 
 http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/3.0
 
 I recommend reading the documentation that comes with RRD.  It will
-explain how the data files FMRTG uses are created, maintained, and
-used to create the GIFs that FMRTG creates.
+explain how the data files Orca uses are created, maintained, and
+used to create the GIFs that Orca creates.
 
 percollator.se
 ==============
@@ -58,11 +58,11 @@
 see the URL http://www.sunworld.com/swol-03-1996/swol-03-perf.html
 
 This version of percollator.se collects much more data than the original
-on Solaris systems.  I have designed an FMRTG configuration file designed
+on Solaris systems.  I have designed an Orca configuration file designed
 to read the output of this percollator.  Sample output from this set up
 is displayed at
 
-http://www.geocities.com/ResearchTriangle/Thinktank/4996/fmrtg-example/
+http://www.geocities.com/ResearchTriangle/Thinktank/4996/orca-example/
 
 AVAILABLE AT
 ============
@@ -71,6 +71,14 @@
 
 http://www.geocities.com/ResearchTriangle/Thinktank/4996/
 
+MAILING LISTS
+=============
+
+Discussions regarding Orca take place on the mrtg-developers mailing
+list located at mrtg-developers at list.ee.ethz.ch.  To place yourself
+on the mailing list, send a message with the word subscribe to it
+to mrtg-developers-request at list.ee.ethz.ch.
+
 AUTHOR
 ======
 




More information about the Orca-checkins mailing list