Bug 1374333 - Use TalosContentProfiler to fix profiling in a11yr tests. r?rwood draft
authorMike Conley <mconley@mozilla.com>
Wed, 12 Jul 2017 13:52:52 -0400
changeset 610837 9f6cf798d1616fb14195891aa365c6e0f9752304
parent 610836 bfd72337099af269e8c43136bb3787cd9b45688f
child 610838 22821f1c5655c47747892e4daf277c9ccbfa8902
push id69002
push usermconley@mozilla.com
push dateTue, 18 Jul 2017 19:11:35 +0000
reviewersrwood
bugs1374333
milestone56.0a1
Bug 1374333 - Use TalosContentProfiler to fix profiling in a11yr tests. r?rwood MozReview-Commit-ID: 43rb6DEzTJ8
testing/talos/talos/tests/a11y/dhtml.html
testing/talos/talos/tests/a11y/tablemutation.html
--- a/testing/talos/talos/tests/a11y/dhtml.html
+++ b/testing/talos/talos/tests/a11y/dhtml.html
@@ -1,53 +1,59 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <meta charset="utf-8">
 <head>
 <title>accessibility perf for dhtml</title>
 <script src="a11y.js"></script>
+<script src="chrome://talos-powers-content/content/TalosContentProfiler.js"></script>
 <script>
   /* import-globals-from a11y.js */
   // based on: http://hacks.mozilla.org/2010/05/better-performance-with-lazy-frame-construction/
   var ppDate = null;
 
   function doInsertion() {
     if (!initAccessibility()) {
       dump("__FAILinit:AccessibilityUnvailable__FAIL");
       return;
     }
 
-    var container = document.getElementById("container");
-    var lastchild = document.getElementById("lastchild");
-    var start = new Date();  // eslint-disable-line mozilla/avoid-Date-timing
-    var i, div;
-    for (i = 0; i < 2000; i++) {
-      div = document.createElement("div");
-      div.innerHTML = "<input type='text' value='a bc def g hijkl mn op qrs'/>";
-      container.insertBefore(div, lastchild);
-    }
-    for (i = 0; i < 2000; i++) {
-      div = document.createElement("div");
-      div.innerHTML = "<ul><li>foo<ul><li>bar</li></ul></li><li>baz</li></ul>";
-      container.insertBefore(div, lastchild);
-    }
-    for (i = 0; i < 2000; i++) {
-      div = document.createElement("div");
+    TalosContentProfiler.resume("dhtml test start", true).then(() => {
+      var container = document.getElementById("container");
+      var lastchild = document.getElementById("lastchild");
+      var start = new Date();  // eslint-disable-line mozilla/avoid-Date-timing
+      var i, div;
+      for (i = 0; i < 2000; i++) {
+        div = document.createElement("div");
+        div.innerHTML = "<input type='text' value='a bc def g hijkl mn op qrs'/>";
+        container.insertBefore(div, lastchild);
+      }
+      for (i = 0; i < 2000; i++) {
+        div = document.createElement("div");
+        div.innerHTML = "<ul><li>foo<ul><li>bar</li></ul></li><li>baz</li></ul>";
+        container.insertBefore(div, lastchild);
+      }
+      for (i = 0; i < 2000; i++) {
+        div = document.createElement("div");
 
-      // eslint-disable-next-line no-unsanitized/property
-      div.innerHTML = "<div role='progressbar'>progressbar</div>" +
-                      "<span id='span" + i + "'>cb</span>";
-      container.appendChild(div);
-    }
-    document.documentElement.offsetLeft; // flush layout
-    setTimeout(postProcessingRecord, 0, start);
+        // eslint-disable-next-line no-unsanitized/property
+        div.innerHTML = "<div role='progressbar'>progressbar</div>" +
+                        "<span id='span" + i + "'>cb</span>";
+        container.appendChild(div);
+      }
+      document.documentElement.offsetLeft; // flush layout
+      setTimeout(postProcessingRecord, 0, start);
+    });
   }
 
   function postProcessingRecord(s) {
     // alert(new Date() - s);
-    tpRecordTime(new Date() - s, s);  // eslint-disable-line mozilla/avoid-Date-timing
+    let delta = new Date() - s; // eslint-disable-line mozilla/avoid-Date-timing
+    TalosContentProfiler.pause("dhtml test finish", true).then(() => {
+      tpRecordTime(delta, s);
+    });
   }
 </script>
 </head>
 <body onload="doInsertion();">
   <div id="container" role="application"><div id="lastchild"></div></div>
 </body>
 </html>
--- a/testing/talos/talos/tests/a11y/tablemutation.html
+++ b/testing/talos/talos/tests/a11y/tablemutation.html
@@ -1,12 +1,13 @@
 <head>
 <meta charset="utf-8">
 <title>Accessibility Table Mutation</title>
 <script src="a11y.js"></script>
+<script src="chrome://talos-powers-content/content/TalosContentProfiler.js"></script>
 </head>
 
 <body>
 <div id="start">
 <table id="datatable">
 <tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
 <tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
 <tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
@@ -112,24 +113,29 @@ function mutateTable() {
   // Start with a cached accessible tree
   if (!initAccessibility()) {
     dump("__FAILinit:AccessibilityUnvailable__FAIL");
     return;
   }
 
   ensureAccessibleTree("start");
 
-  var start = new Date();  // eslint-disable-line mozilla/avoid-Date-timing
+  TalosContentProfiler.resume("tablemutation start", true).then(() => {
+    var start = new Date(); // eslint-disable-line mozilla/avoid-Date-timing
 
-  // Cause all kinds of crazy events
-  Range.deleteContents();
-  Range.insertNode(Fragment);
+    // Cause all kinds of crazy events
+    Range.deleteContents();
+    Range.insertNode(Fragment);
 
-  document.documentElement.offsetLeft; // flush layout
+    document.documentElement.offsetLeft; // flush layout
 
-  setTimeout(postProcessingRecord, 0, start);
+    setTimeout(postProcessingRecord, 0, start);
+  });
 }
 
 function postProcessingRecord(s) {
   // alert(new Date() - s);
-  tpRecordTime(new Date() - s, s);  // eslint-disable-line mozilla/avoid-Date-timing
+  let delta = new Date() - s; // eslint-disable-line mozilla/avoid-Date-timing
+  TalosContentProfiler.pause("tablemutation finish", true).then(() => {
+    tpRecordTime(delta, s);
+  });
 }
 </script>