 Chromium Code Reviews
 Chromium Code Reviews Issue 9956045:
  Add Web Page Replay test to page cycler.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src
    
  
    Issue 9956045:
  Add Web Page Replay test to page cycler.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src| OLD | NEW | 
|---|---|
| 1 <html> | 1 <html> | 
| 2 <head> | 2 <head> | 
| 3 <style> | 3 <style> | 
| 4 .discarded { | 4 .discarded { | 
| 5 color: #C0C0C0; | 5 color: #C0C0C0; | 
| 6 } | 6 } | 
| 7 </style> | 7 </style> | 
| 8 <h2>Summary</h2> | 8 <h2>Summary</h2> | 
| 9 <dl> | 9 <dl> | 
| 10 <script src="head.js"></script> | 10 <script src="head.js"></script> | 
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 r.vari = 0; | 72 r.vari = 0; | 
| 73 for (var i = 0; i < ary.length; ++i) { | 73 for (var i = 0; i < ary.length; ++i) { | 
| 74 if (i == r.indexOfMax) | 74 if (i == r.indexOfMax) | 
| 75 continue; | 75 continue; | 
| 76 var d = r.mean - ary[i]; | 76 var d = r.mean - ary[i]; | 
| 77 r.vari = r.vari + d * d; | 77 r.vari = r.vari + d * d; | 
| 78 } | 78 } | 
| 79 | 79 | 
| 80 r.vari = r.vari / (ary.length - 1); | 80 r.vari = r.vari / (ary.length - 1); | 
| 81 r.stdd = Math.sqrt(r.vari); | 81 r.stdd = Math.sqrt(r.vari); | 
| 82 r.errp = r.stdd / Math.sqrt((ary.length - 1) / 2) / r.mean * 100; | |
| 82 return r; | 83 return r; | 
| 83 } | 84 } | 
| 84 | 85 | 
| 85 function appendTableCol(tr, text, linkify) { | 86 function appendTableCol(tr, text, linkify) { | 
| 86 var doc = tr.ownerDocument; | 87 var doc = tr.ownerDocument; | 
| 87 var td = doc.createElement("TD"); | 88 var td = doc.createElement("TD"); | 
| 88 | 89 | 
| 89 if (linkify) { | 90 if (linkify) { | 
| 90 var anchor = doc.createElement("A"); | 91 var anchor = doc.createElement("A"); | 
| 91 anchor.href = text + "/index.html?skip=true"; | 92 if (text.indexOf('http://localhost:8000/') == 0 || | 
| 
tonyg
2012/04/13 14:32:21
Use a regex that avoids hardcoding the port #?
 
slamm_google
2012/04/13 23:43:36
I just left the port off.
 | |
| 93 text.indexOf('file://') == 0) { | |
| 94 anchor.href = text + "/index.html?skip=true"; | |
| 95 } else { | |
| 96 // For Web Page Replay, URLs are unchanged from originals. | |
| 97 anchor.href = text; | |
| 98 } | |
| 92 anchor.appendChild(doc.createTextNode(text)); | 99 anchor.appendChild(doc.createTextNode(text)); | 
| 93 td.appendChild(anchor); | 100 td.appendChild(anchor); | 
| 94 } | 101 } | 
| 95 else | 102 else | 
| 96 td.appendChild(doc.createTextNode(text)); | 103 td.appendChild(doc.createTextNode(text)); | 
| 97 tr.appendChild(td); | 104 tr.appendChild(td); | 
| 98 return td; | 105 return td; | 
| 99 } | 106 } | 
| 100 | 107 | 
| 101 function getTimeVals() { | 108 function getTimeVals() { | 
| 102 var rawData = __get_timings().split(","); | 109 var rawData = __get_timings().split(","); | 
| 103 var timeVals = []; | 110 var timeVals = []; | 
| 104 for (var i = 0; i < iterations; ++i) { | 111 for (var i = 0; i < iterations; ++i) { | 
| 105 for (var j = 0; j < pages; ++j) { | 112 for (var j = 0; j < pages; ++j) { | 
| 106 if (!timeVals[j]) | 113 if (!timeVals[j]) | 
| 107 timeVals[j] = []; | 114 timeVals[j] = []; | 
| 108 timeVals[j].push(parseInt(rawData[j + i*pages])); | 115 timeVals[j].push(parseInt(rawData[j + i*pages])); | 
| 109 } | 116 } | 
| 110 } | 117 } | 
| 111 return timeVals; | 118 return timeVals; | 
| 112 } | 119 } | 
| 113 | 120 | 
| 114 function showReport() { | 121 function showReport() { | 
| 115 var tbody = document.getElementById("tbody"); | 122 var tbody = document.getElementById("tbody"); | 
| 116 var colsums = [0,0,0,0]; | 123 var colsums = [0,0,0,0,0]; | 
| 117 var timeVals = getTimeVals(); | 124 var timeVals = getTimeVals(); | 
| 118 for (var i = 0; i < timeVals.length; ++i) { | 125 for (var i = 0; i < timeVals.length; ++i) { | 
| 119 var tr = document.createElement("TR"); | 126 var tr = document.createElement("TR"); | 
| 120 | 127 | 
| 121 appendTableCol(tr, __pages()[i], true); | 128 appendTableCol(tr, __pages()[i], true); | 
| 122 | 129 | 
| 123 var r = getArrayStats(timeVals[i]); | 130 var r = getArrayStats(timeVals[i]); | 
| 124 appendTableCol(tr, r.min.toFixed(2)); | 131 appendTableCol(tr, r.min.toFixed(2)); | 
| 125 appendTableCol(tr, r.max.toFixed(2)); | 132 appendTableCol(tr, r.max.toFixed(2)); | 
| 126 appendTableCol(tr, r.mean.toFixed(2)); | 133 appendTableCol(tr, r.mean.toFixed(2)); | 
| 127 appendTableCol(tr, r.stdd.toFixed(2)); | 134 appendTableCol(tr, r.stdd.toFixed(2)); | 
| 135 appendTableCol(tr, r.errp.toFixed(2)); | |
| 128 //appendTableCol(tr, r.chi2.toFixed(2)); | 136 //appendTableCol(tr, r.chi2.toFixed(2)); | 
| 129 | 137 | 
| 130 for (var j = 0; j < timeVals[i].length; ++j) { | 138 for (var j = 0; j < timeVals[i].length; ++j) { | 
| 131 var tv = timeVals[i][j]; | 139 var tv = timeVals[i][j]; | 
| 132 var td = appendTableCol(tr, tv); | 140 var td = appendTableCol(tr, tv); | 
| 133 if (j == r.indexOfMax) | 141 if (j == r.indexOfMax) | 
| 134 td.setAttribute("class", "discarded"); | 142 td.setAttribute("class", "discarded"); | 
| 135 } | 143 } | 
| 136 | 144 | 
| 137 colsums[0] = colsums[0] + r.min; | 145 colsums[0] = colsums[0] + r.min; | 
| 138 colsums[1] = colsums[1] + r.max; | 146 colsums[1] = colsums[1] + r.max; | 
| 139 colsums[2] = colsums[2] + r.mean; | 147 colsums[2] = colsums[2] + r.mean; | 
| 140 colsums[3] = colsums[3] + r.stdd; | 148 colsums[3] = colsums[3] + r.stdd; | 
| 149 colsums[4] = colsums[4] + r.errp; | |
| 141 | 150 | 
| 142 tbody.appendChild(tr); | 151 tbody.appendChild(tr); | 
| 143 } | 152 } | 
| 144 | 153 | 
| 145 var tr = document.createElement("TR"); | 154 var tr = document.createElement("TR"); | 
| 146 appendTableCol(tr, "totals:"); | 155 appendTableCol(tr, "totals:"); | 
| 147 for (var k = 0; k < colsums.length; ++k) | 156 for (var k = 0; k < colsums.length; ++k) | 
| 148 appendTableCol(tr, colsums[k].toFixed(2)); | 157 appendTableCol(tr, colsums[k].toFixed(2)); | 
| 149 tbody.appendChild(tr); | 158 tbody.appendChild(tr); | 
| 150 } | 159 } | 
| 151 window.onload = showReport; | 160 window.onload = showReport; | 
| 152 | 161 | 
| 153 </script> | 162 </script> | 
| 154 </dl> | 163 </dl> | 
| 155 </head> | 164 </head> | 
| 156 <body> | 165 <body> | 
| 157 <h2>Complete Statistics</h2> | 166 <h2>Complete Statistics</h2> | 
| 158 <table border="1"> | 167 <table border="1"> | 
| 159 <thead> | 168 <thead> | 
| 160 <tr> | 169 <tr> | 
| 161 <th>Site</th> | 170 <th>Site</th> | 
| 162 <th>Min</th> | 171 <th>Min</th> | 
| 163 <th>Max</th> | 172 <th>Max</th> | 
| 164 <th>Mean</th> | 173 <th>Mean</th> | 
| 165 <th>Std.d</th> | 174 <th>Std.d</th> | 
| 175 <th>Err %</th> | |
| 166 <th colspan="10">Runs</th> | 176 <th colspan="10">Runs</th> | 
| 167 </tr> | 177 </tr> | 
| 168 </thead> | 178 </thead> | 
| 169 <tbody id="tbody"></tbody> | 179 <tbody id="tbody"></tbody> | 
| 170 </table> | 180 </table> | 
| 171 </body> | 181 </body> | 
| 172 </html> | 182 </html> | 
| 173 | |
| OLD | NEW |