Bug 1198196 - rework EVENTLOOP_UI_LAG_EXP_MS to record all lag. r=vladan
☠☠ backed out by e68c0bbf6818 ☠ ☠
authorChris H-C <chutten@mozilla.com>
Wed, 11 Nov 2015 14:01:00 +0100
changeset 308369 01dac856fde00a7a8de9af2534fb2d4764196641
parent 308368 09bbdb107c10aff33668d6dbfefed29e1dd707e0
child 308370 5807dfe3b8736404b267fb6fb883d5cf440a62fe
push id1040
push userraliiev@mozilla.com
push dateMon, 29 Feb 2016 17:11:22 +0000
treeherdermozilla-release@8c3167321162 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersvladan
bugs1198196
milestone45.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1198196 - rework EVENTLOOP_UI_LAG_EXP_MS to record all lag. r=vladan Previously we were only logging if we accumulated 50ms of lag. Start logging all lag so we can use this measure to compare smaller changes in UI responsiveness.
toolkit/components/telemetry/Histograms.json
xpcom/threads/HangMonitor.cpp
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -4239,24 +4239,23 @@
   },
   "FX_MIGRATION_HOMEPAGE_IMPORTED": {
     "expires_in_version": "49",
     "kind": "boolean",
     "keyed": "true",
     "releaseChannelCollection": "opt-out",
     "description": "Whether the homepage was imported during browser migration. Only available on release builds during firstrun."
   },
-  "EVENTLOOP_UI_LAG_EXP_MS": {
+  "EVENTLOOP_UI_ACTIVITY_EXP_MS": {
     "alert_emails": ["perf-telemetry-alerts@mozilla.com"],
-    "expires_in_version": "never",
-    "kind": "exponential",
-    "low": 50,
+    "bug_numbers": [1198196],
+    "expires_in_version": "never",
+    "kind": "exponential",
     "high": "60000",
-    "n_buckets": 20,
-    "extended_statistics_ok": true,
+    "n_buckets": 50,
     "description": "Widget: Time it takes for the message before a UI message (ms)"
   },
   "FX_SESSION_RESTORE_STARTUP_INIT_SESSION_MS": {
     "alert_emails": ["session-restore-telemetry-alerts@mozilla.com"],
     "expires_in_version": "default",
     "kind": "exponential",
     "high": "30000",
     "n_buckets": 20,
--- a/xpcom/threads/HangMonitor.cpp
+++ b/xpcom/threads/HangMonitor.cpp
@@ -365,26 +365,20 @@ NotifyActivity(ActivityType aActivityTyp
       break;
   }
 
   // This is not a locked activity because PRTimeStamp is a 32-bit quantity
   // which can be read/written atomically, and we don't want to pay locking
   // penalties here.
   gTimestamp = PR_IntervalNow();
 
-  // If we have UI activity we should reset the timer and report it if it is
-  // significant enough.
+  // If we have UI activity we should reset the timer and report it
   if (aActivityType == kUIActivity) {
-    // The minimum amount of lag time that we should report for telemetry data.
-    // Mozilla's UI responsiveness goal is 50ms
-    static const uint32_t kUIResponsivenessThresholdMS = 50;
-    if (cumulativeUILagMS > kUIResponsivenessThresholdMS) {
-      mozilla::Telemetry::Accumulate(mozilla::Telemetry::EVENTLOOP_UI_LAG_EXP_MS,
+    mozilla::Telemetry::Accumulate(mozilla::Telemetry::EVENTLOOP_UI_ACTIVITY_EXP_MS,
                                      cumulativeUILagMS);
-    }
     cumulativeUILagMS = 0;
   }
 
   if (gThread && !gShutdown) {
     mozilla::BackgroundHangMonitor().NotifyActivity();
   }
 }