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.
--- 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();
}
}