[Orca-users] Re: Gaps in data problems

Blair Zajac blair at akamai.com
Thu Feb 8 16:12:27 PST 2001


Hi Mike,

The problems you are running into here with the large gaps between
updates are due to a bug in Orca with some versions of Perl that is
also causing warning messages.

Below is a patch to orca-0.26 to fix the problem.  After you install
it, to fix the gaps, you'll need to delete all of our RRD data files
and rerun Orca so it can load all of the source data files into the
RRD files.

Regards,
Blair

--- ../orca-0.26/src/orca.pl.in Thu Mar  9 14:49:59 2000
+++ src/orca.pl.in      Wed Feb  7 16:40:57 2001
@@ -965,17 +965,26 @@
 
     # Create a new list of filenames sorted by subgroup name and
     # inside each subgroup sorted using the filename_compare
-    # configuration option function or by the Perl cmp function.  This
-    # will cause the created plots to appear in subgroup order.  The
-    # compare subroutine expects the input in the $a and $b package
-    # variables.  Since the subroutine was eval'ed in the Orca::Config
-    # package, the sort subroutine needs be in that package.
+    # configuration file function or by the default compare function
+    # that uses cmp to compare filenames.  This will cause the created
+    # plots to appear in subgroup order.  Note that the FIDs are not
+    # being sorted, but the filename the FID references.
+    #
+    # The compare subroutine expects the input in the $a and $b
+    # package variables and since the compare subroutine was eval'ed
+    # in the Orca::Config package it will look for these variables in
+    # Orca::Config.  Also, since sort cannot be passed a reference to
+    # a sorting subroutine stored in a hash (i.e. sort $a{b} @c), use
+    # a temporary variable.  Some versions of Perl will complain that
+    # fc is used only once, so declare the variable and set it in two
+    # separate statements.
     @fids = ();
     {
-      local *Orca::Config::fc =
$config_groups{$group_name}{filename_compare};
+      package Orca::Config;
+      local *fc;
+      *fc = $config_groups{$group_name}{filename_compare};
       foreach my $subgroup (sort keys %tmp_fids_by_subgroup) {
-        push(@fids,
-             sort Orca::Config::fc
@{$tmp_fids_by_subgroup{$subgroup}});
+        push(@fids, sort fc @{$tmp_fids_by_subgroup{$subgroup}});
       }
     }
 

Mick Sheppard wrote:
> 
> Hi,
> 
> I'm having real problems with gaps in data. Graphs generated from day
> to day vary in the data that is missing. If you look at
> http://www.fans.org.uk/orca/ you will see the problem I am getting. I
> have solid orcallator data from 19th Nov. It seems to discard huge
> chunks of it when producing the graphs though.
> 
> If anyone can give me any pointers as to what is happening I'll be
> most grateful.
> 
> I have Orca 0.26 running on Solaris 2.7 with Perl 5.6.0.
> --
> Mick Sheppard
> 
> -------------------------- eGroups Sponsor -------------------------~-~>
> eGroups eLerts
> It's Easy. It's Fun. Best of All, it's Free!
> http://click.egroups.com/1/9698/5/_/804404/_/975252166/
> ---------------------------------------------------------------------_->



More information about the Orca-users mailing list