Changeset 3db67ae5b26eab5ce769c235b8a2e672325cadb7

Show
Ignore:
Timestamp:
07/10/09 19:45:23 (5 years ago)
Author:
Umar Farooq <umar@omniti.com>
git-committer:
Umar Farooq <umar@omniti.com> 1247255123 +0000
git-parent:

[06519e0d896bfca30746212670c342a1b84a74a5]

git-author:
Umar Farooq <umar@omniti.com> 1247255123 +0000
Message:

fixing bug caused when stacking streaming datasets that are missing some data, and removing some unused streaming code

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ui/web/htdocs/js/jquery.flot.js

    r7c60f54 r3db67ae  
    162162             
    163163            for (var j = 0; j < series[i].data.length; j++) { 
    164                 if(series[i].data[j][1] && bdata[j][1]){ 
     164                if(series[i].data[j] && bdata[j]){ 
     165 
    165166                    match = binary_search(bdata, series[i].data[j][0], bdata.length-1, 0);                       
    166167                     
    167168                    //if the dataset below this one has an exact timestamp match, stack the top dataset by adding it to the one above 
    168169                    if(match.found) {  
    169                         series[i].data[j][1] = parseFloat(series[i].data[j][1]) + parseFloat(bdata[match.index][1])+''; 
     170                        my1 = ( isNaN(parseFloat(series[i].data[j][1])) ) ? 0 : parseFloat(series[i].data[j][1]);                                 
     171                        my2 = ( isNaN(parseFloat(bdata[match.index][1])) )? 0 : parseFloat(bdata[match.index][1]); 
     172                        series[i].data[j][1] = my1 + my2 +''; 
    170173                    } 
    171174                    else if(match.index >=0 && match.index<bdata.length) { 
     
    206209        //this will lerp to the y value at x=t using points p1 and p2 
    207210        function interpolate(p1, p2, t) { 
    208             dx = p2[0] - p1[0]; dy = p2[1] - p1[1]; 
    209             return (dy/dx)*(t-p1[0]) + p1[1]; 
     211            mp1 =  [ isNaN(parseFloat(p1[0])) ? 0 : parseFloat(p1[0]), 
     212                     isNaN(parseFloat(p1[1])) ? 0 : parseFloat(p1[1]) ]; 
     213 
     214            mp2 = [ isNaN(parseFloat(p2[0])) ? 0 : parseFloat(p2[0]),  
     215                    isNaN(parseFloat(p2[1])) ? 0 : parseFloat(p2[1]) ]; 
     216 
     217            dx = mp2[0] - mp1[0]; dy = mp2[1] - mp1[1]; 
     218            return (dy/dx)*(t-mp1[0]) + mp1[1]; 
    210219        } 
    211220 
     
    12571266 
    12581267                var prev, cur = null; 
    1259                 var bprev, bcur = null; 
    12601268 
    12611269                //zero negative ymin, then find minimum of that and ymax for bottom 
     
    12651273                var areaOpen = false; 
    12661274                var pcount = 0; 
    1267                 var last_by = (b_series  ? (b_series.data[b_series.data.length-1][1] ? b_series.data[b_series.data.length-1][1] : bottom) : bottom); 
    1268                 var first_by = (b_series ? (b_series.data[0][1] ? b_series.data[0][1] : bottom) : bottom); 
     1275                var last_by = bottom; 
     1276                var first_by = bottom; 
     1277 
     1278                if(b_series) { 
     1279 
     1280                    if(b_series.data[b_series.data.length-1]) last_by = b_series.data[b_series.data.length-1][1]; 
     1281                    else last_by = bottom; 
     1282 
     1283                    if(b_series.data[0]) first_by = b_series.data[0][1]; 
     1284                    else first_by = bottom; 
     1285                } 
    12691286 
    12701287                for (var i = 0; i < data.length; ++i) { 
    12711288                    prev = cur; 
    12721289                    cur = [data[i][0], data[i][1]]; 
    1273                     if(b_series){ 
    1274                         bprev = bcur; 
    1275                         bcur = [parseFloat(b_series.data[i][0]), parseFloat(b_series.data[i][1])]; 
    1276                     } 
    1277                     else { 
    1278                         bprev = axisy.min; 
    1279                         bcur = axisy.min; 
    1280                     } 
    1281                      
    1282                     if(dataManip) cur[1] = dataManip(cur[1]); 
    12831290 
    12841291                    //close only if not stacked 
     
    12931300                    if (prev == null || cur == null) 
    12941301                        continue; 
    1295                          
     1302                     
     1303                    if(dataManip) cur[1] = dataManip(cur[1]); 
     1304     
    12961305                    var x1 = prev[0], y1 = prev[1], 
    12971306                        x2 = cur[0], y2 = cur[1]; 
    1298                     var bx1 = bprev[0], by1 = bprev[1], 
    1299                         bx2 = bcur[0], by2 = bcur[1]; 
    1300  
    13011307 
    13021308                    // clip x values 
  • ui/web/htdocs/js/recon.js

    re2f1fa4 r3db67ae  
    329329                    && !ddata[i].hidden ) { 
    330330 
    331                     //             console.log("got data from stream for ",uuid,"-",metric_name," data = ",tdata, "hidden = ", ddata[i].hidden); 
     331                    //console.log("got data from stream for ",uuid,"-",metric_name," data = ",tdata, "hidden = ", ddata[i].hidden); 
    332332 
    333333                    if((xdata*1000)>doptions.max_time) { doptions.max_time = xdata*1000; } 
     
    354354                            if(ddata[i].reconnoiter_source_expression) { 
    355355                                tdata[1] = rpn_eval(tdata[1], ddata[i].reconnoiter_source_expression, {}); 
     356                            } 
     357                        } //end if ydata was a number 
     358                        else { //we need to fix this so we can do numerical calcs with this val later 
     359                            tdata[1] = 0; 
    356360                        } 
    357                         } //end if ydata was a number 
    358                          
    359361 
    360362                        tdata[0]*=1000; //convert from seconds to milliseconds for flot 
     363 
    361364                        ddata[i].data.push(tdata); 
    362365                        if(ddata[i].lastval) {