Bug 1301104 - Add tab spinner interstitial probe with a higher ceiling to better measure degenerate cases. r=billm,chutten,liuche, a=lizzard
authorMike Conley <mconley@mozilla.com>
Wed, 07 Sep 2016 13:22:12 -0400
changeset 350141 c580c468fdb4a396bde95c2d2b69d2302e88d3ba
parent 350140 46c6e8bb7f6f6d7281baa761cc931ccd46feca5d
child 350142 8f259d3c70b9192923644f3317eb670ab06e3c13
push id1230
push userjlund@mozilla.com
push dateMon, 31 Oct 2016 18:13:35 +0000
treeherdermozilla-release@5e06e3766db2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbillm, chutten, liuche, lizzard
bugs1301104
milestone50.0a2
Bug 1301104 - Add tab spinner interstitial probe with a higher ceiling to better measure degenerate cases. r=billm,chutten,liuche, a=lizzard MozReview-Commit-ID: 2XzfXDqoB
browser/base/content/tabbrowser.xml
toolkit/components/telemetry/Histograms.json
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -3805,24 +3805,28 @@
                 }
                 this.switchInProgress = false;
               }
             },
 
             spinnerDisplayed: function () {
               this.assert(!this.spinnerTab);
               TelemetryStopwatch.start("FX_TAB_SWITCH_SPINNER_VISIBLE_MS", window);
+              // We have a second, similar probe for capturing recordings of
+              // when the spinner is displayed for very long periods.
+              TelemetryStopwatch.start("FX_TAB_SWITCH_SPINNER_VISIBLE_LONG_MS", window);
               this.addMarker("AsyncTabSwitch:SpinnerShown");
             },
 
             spinnerHidden: function () {
               this.assert(this.spinnerTab);
               this.log("DEBUG: spinner time = " +
                        TelemetryStopwatch.timeElapsed("FX_TAB_SWITCH_SPINNER_VISIBLE_MS", window));
               TelemetryStopwatch.finish("FX_TAB_SWITCH_SPINNER_VISIBLE_MS", window);
+              TelemetryStopwatch.finish("FX_TAB_SWITCH_SPINNER_VISIBLE_LONG_MS", window);
               this.addMarker("AsyncTabSwitch:SpinnerHidden");
               // we do not get a onPaint after displaying the spinner
               this.maybeFinishTabSwitch();
             },
 
             addMarker: function(marker) {
               if (Services.profiler) {
                 Services.profiler.AddMarker(marker);
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -4180,16 +4180,26 @@
   },
   "FX_TAB_SWITCH_SPINNER_VISIBLE_MS": {
     "expires_in_version": "default",
     "kind": "exponential",
     "high": 1000,
     "n_buckets": 20,
     "description": "Firefox: If the spinner interstitial displays during tab switching, records the time in ms the graphic is visible"
   },
+  "FX_TAB_SWITCH_SPINNER_VISIBLE_LONG_MS": {
+    "expires_in_version": "54",
+    "kind": "exponential",
+    "low": 1000,
+    "high": 64000,
+    "n_buckets": 7,
+    "bug_numbers": [1301104],
+    "alert_emails": ["mconley@mozilla.com"],
+    "description": "Firefox: If the spinner interstitial displays during tab switching, records the time in ms the graphic is visible. This probe is similar to FX_TAB_SWITCH_SPINNER_VISIBLE_MS, but is for truly degenerate cases."
+  },
   "FX_TAB_CLICK_MS": {
     "expires_in_version": "default",
     "kind": "exponential",
     "high": 1000,
     "n_buckets": 20,
     "description": "Firefox: Time in ms spent on switching tabs in response to a tab click"
   },
   "FX_BOOKMARKS_TOOLBAR_INIT_MS": {