[Orca-users] Re: Orca HTML files showing large gap between updates

Blair Zajac blair at akamai.com
Thu Feb 8 16:09:39 PST 2001


Tadd,

The problems you are running into here with the large gaps between
updates are due to a bug in Orca that is also causing the warning
message you are seeing.

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}});
       }
     }


tadds at dbn.net wrote:
> 
> I can see in this message thread that someone had already experienced
> a problem with the interval parameter. The datafiles for Orca are
> updated twice per hour and I have orca running in the background with
> just the -v parameter. Interval is set to 1800 and the find_times
> parameter is set to:
> 
> 0:00 0:30 1:00 1:30 2:00 2:30... (and so on)
> 
> When I run orca, the last data recorded in the graphs was about 6 to
> 7 hours ago. I am expecting up-to-the-minute data, but this is not
> the case. What am I doing wrong here? I tried to follow what was
> mentioned in the previous message threads, but it doesnt seem to work
> at all. I cleared the RRD and HTML files several times, but to no
> avail.
> 
> Also, I am seeing numerous "Use of uninitalized value at (eval 4)
> line 1" messages. Is this a known bug in the orca source code?
> 
> Please advise.
> 
> Tadd



More information about the Orca-users mailing list