[Orca-dev] Re: unknown value

Jason D. Kelleher kelleher944 at yahoo.com
Mon Jun 11 11:05:19 PDT 2001


We re-ran with 27b1 (which contains this patch) and got the same
errors with the same results.

jason


--- Blair Zajac <blair at gps.caltech.edu> wrote:
> Try the attached patch to Orca to have it ignore input values that
> are equal to 'U' and pass 'U' to RRDtool.
>
> Blair
>
> "Jason D. Kelleher" wrote:
> >
> > Nope.  How will counter values of "U" be treated?  My results are
> the
> > same, but now Orca throws out the following errors:
> >
> > /opt/orca/bin/orca: making directory
> > `/opt/orca/data/dw-ibm/sp/html/ODO'.
> > Argument "U" isn't numeric in multiply at (eval 95) line 3, <FD>
> > chunk 77.
> > Argument "U" isn't numeric in multiply at (eval 95) line 3, <FD>
> > chunk 77.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 77.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 77.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 77.
> > Argument "U" isn't numeric in multiply at (eval 95) line 3, <FD>
> > chunk 78.
> > Argument "U" isn't numeric in multiply at (eval 95) line 3, <FD>
> > chunk 78.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 78.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 78.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 78.
> > Argument "U" isn't numeric in multiply at (eval 95) line 3, <FD>
> > chunk 79.
> > Argument "U" isn't numeric in multiply at (eval 95) line 3, <FD>
> > chunk 79.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 79.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 79.
> > Argument "U" isn't numeric in subtract at (eval 95) line 3, <FD>
> > chunk 79.
> >
> > --- Blair Zajac <blair at gps.caltech.edu> wrote:
> > > If you use the value U and pass this to Orca, then this will be
> > > understood by RRDtool to mean an unknown value.
> > >
> > > Let me know if this works.
> > >
> > > Blair
> > >
> > > "Jason D. Kelleher" wrote:
> > > >
> > > > I'm writing a script that takes datafiles from severals nodes
> in
> > > an
> > > > OPS cluster and creates an aggregate datafile for Orca so
> data
> > > from
> > > > several nodes can be put onto one graph along with totals and
> > > > averages.
> > > >
> > > > Everything is working fine now except when I encounter a
> "hole"
> > > in
> > > > the data from a node.  To prevent changing the number of
> columns
> > > and
> > > > upsetting Orca I've been filling these holes with "0".  This
> > > skews
> > > > averages a little, but I didn't consider it significant until
> I
> > > saw
> > > > what it did to counter values - definitely a Bad Thing(tm).
> Does
> > > > Orca accept something like the RRDTool "*UNKNOWN*" value?
> > > >
> > > > I guess I could just drop the entire line, but that seems
> silly
> > > since
> > > > dropping a node for maintenance may be considered a SOP and
> > > doesn't
> > > > affect the cluster.  Any suggestions would be appreciated.
> > > >
> > > > jason
> > > >
> > > >                    Yahoo! Groups Sponsor
> > > > [www.debticated.com]
> > > >
> > > >
> > > Service.
> > >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Get personalized email addresses from Yahoo! Mail - only $35
> > a year!  http://personal.mail.yahoo.com/
> >
> >                    Yahoo! Groups Sponsor
> > [www.debticated.com]
> >
> >
Service.> --- ../orca-0.27b1/lib/Orca/SourceFile.pm      Thu Mar 29
15:25:41 2001
> +++ lib/Orca/SourceFile.pm      Sun Jun 10 08:46:10 2001
> @@ -524,11 +524,18 @@
>      # not changing the original plot structure.  Look through each
>      # element of each data and look for names appearing in the
> column
>      # description array.  If there is a match for this file, then
> -    # convert the element to an index the @_ array where the data
> will
> -    # be pulled from.  If there is not a match, then see if the
> -    # element matches a name from one of the other column names
> from
> -    # the same group.  In this case the data argument for this
> file
> -    # will not be used.
> +    # convert the element to index the @_ array where the data
> will be
> +    # pulled from.  If there is not a match, then see if the
> element
> +    # matches a name from one of the other column names from the
> same
> +    # group.  In this case the data argument for this file will
> not be
> +    # used.
> +
> +    # To allow data gathering program to send unknown values to
> Orca,
> +    # check if any of the substituted values equals 'U' and return
> +    # immediately the value 'U' to pass to RRDtool.  Keep track of
> the
> +    # substituted values.
> +    my %substituted_values;
> +
>      my @datas;
>      foreach my $one_data (@{$plot->{data}}) {
>        push(@datas, [@$one_data]);
> @@ -540,8 +547,9 @@
>          my $element = $datas[$j][$k];
>          my $pos;
>          if (defined ($pos = $column_description{$element})) {
> -          $datas[$j][$k]  = "\$_[$pos]";
>            $match_one_data = 1;
> +          $datas[$j][$k]  = "\$_[$pos]";
> +          $substituted_values{"\$_[$pos]"} = 1;
>          } elsif (defined
> $group_column_names[$group_index]{$element}) {
>            my $m = $old_i + 1;
>            if ($required) {
> @@ -580,10 +588,14 @@
>      for (my $j=0; $j<@datas; ++$j) {
>        my $data_expression;
>        if (defined $datas[$j]) {
> -        $data_expression = "@{$datas[$j]}";
> -        my $sub_expr     = "sub { $data_expression }";
> -        my $sub_expr_md5 = md5($data_expression);
> -        my $eval_result  = $choose_data_sub_cache{$sub_expr_md5};
> +        my $sub_expr = "sub {\n";
> +        foreach my $s (sort keys %substituted_values) {
> +          $sub_expr .= "  if (!defined($s) || $s eq 'U') {  
> return 'U';\n  }\n";
> +        }
> +        $data_expression  = "@{$datas[$j]}";
> +        $sub_expr        .= "  $data_expression;\n}";
> +        my $sub_expr_md5  = md5($data_expression);
> +        my $eval_result   = $choose_data_sub_cache{$sub_expr_md5};
>          unless (defined $eval_result) {
>            $eval_result = 1;
>            my $test_value;
>


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35
a year!  http://personal.mail.yahoo.com/



More information about the Orca-dev mailing list