Log excessive boot times
This should help to identify devices that report unusually long
boot_completed timings.
Test: manual
Bug: 32807863
Change-Id: Ic6c7103d43b3e395accb38ec418094bc580c7c40
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 68cb0c5..5d2be6c 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -381,8 +381,13 @@
Slog.i(TAG, "Enabled StrictMode for system server main thread.");
}
if (!mRuntimeRestart && !mFirstBoot) {
- MetricsLogger.histogram(null, "boot_system_server_ready",
- (int) SystemClock.elapsedRealtime());
+ int uptimeMillis = (int) SystemClock.elapsedRealtime();
+ MetricsLogger.histogram(null, "boot_system_server_ready", uptimeMillis);
+ final int MAX_UPTIME_MILLIS = 60 * 1000;
+ if (uptimeMillis > MAX_UPTIME_MILLIS) {
+ Slog.wtf("SystemServerTiming",
+ "SystemServer init took too long. uptimeMillis=" + uptimeMillis);
+ }
}
// Loop forever.