[Reconnoiter-devel] [reconnoiter] #153: window_robust_derive missing first and last rows.

reconnoiter trac at labs.omniti.com
Thu Jul 9 20:07:45 EDT 2009


#153: window_robust_derive missing first and last rows.
----------------------+-----------------------------------------------------
 Reporter:  jesus     |       Owner:  jesus  
     Type:  defect    |      Status:  new    
 Priority:  major     |   Milestone:  Wangle 
Component:  database  |    Severity:  serious
 Keywords:            |  
----------------------+-----------------------------------------------------
 If I start with acompletely fresh install add one http check, fire up the
 standard
 config add a two checks, a self check and an http check.  Wait for 5
 mins @ 30 periods for a couple checks to come in and manually run the
 5m rollup window.  For some reason no bytes or uptime entries will
 show up in the 5m table.  So then I looked in the Stored Proc and saw
 the window_robust_derive, which does the whole roll up.  And for some
 reason it was leaving out uptime from the self check and bytes from
 the http check.

 So the bytes problem is because the rec.count_rows initially start as
 null and not 0, same with avg_value so I added right under the begin
 clause.  Since it was the first check to go through the system it was
 doomed.

 {{{
   rec.count_rows := 0;
   rec.avg_value := 0;
 }}}

 And then realized that the uptime check was the last to go through the
 system and the logic in the sproc basically rolls up until it hits a
 difference and then returns a new row.  Since this is the last row it
 never got returned so at the end of the loop I just copied the derive
 code and added it under the end loop;

 {{{
 if rec.count_rows > 0 then
  rec.avg_value := rec.avg_value / rec.count_rows;
  if run is not null and run > 0 then
    rec.counter_dev := rise/run;
  end if;
  return next rec;
 end if;
 }}}

-- 
Ticket URL: <http://labs.omniti.com/trac/reconnoiter/ticket/153>
reconnoiter <https://labs.omniti.com/trac/reconnoiter>
Reconnoiter



More information about the Reconnoiter-devel mailing list