Bug 1198196 - rework EVENTLOOP_UI_LAG_EXP_MS to record all lag. r=vladan a=lizzard
authorChris H-C <chutten@mozilla.com>
Wed, 11 Nov 2015 14:01:00 +0100
changeset 296725 ffc3382d3829
parent 296724 6cabb1a43af6
child 296726 aaa5100e2085
push id5308
push uservdjeric@mozilla.com
push date2015-11-15 23:58 +0000
treeherdermozilla-beta@aaa5100e2085 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersvladan, lizzard
bugs1198196
milestone43.0
Bug 1198196 - rework EVENTLOOP_UI_LAG_EXP_MS to record all lag. r=vladan a=lizzard 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
@@ -4195,24 +4195,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();
   }
 }