Show system uptime in bugreport (dumpsys alarm)
Example:
RuntimeStarted=2018-03-06 19:33:00.587 (Runtime restarted)
Runtime uptime (elapsed): +15s375ms
Runtime uptime (uptime): +15s375ms
Test: dumpsys alarm
Bug: 74126915
Change-Id: I8e82050b8246725d944829b6488b1946a1b37ba1
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index d17ca7f..576ec29 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -1854,6 +1854,7 @@
final long nowRTC = System.currentTimeMillis();
final long nowELAPSED = SystemClock.elapsedRealtime();
+ final long nowUPTIME = SystemClock.uptimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
pw.print(" nowRTC="); pw.print(nowRTC);
@@ -1869,6 +1870,25 @@
pw.print(" mLastTickSet="); pw.println(sdf.format(new Date(mLastTickSet)));
pw.print(" mLastTickAdded="); pw.println(sdf.format(new Date(mLastTickAdded)));
pw.print(" mLastTickRemoved="); pw.println(sdf.format(new Date(mLastTickRemoved)));
+
+ SystemServiceManager ssm = LocalServices.getService(SystemServiceManager.class);
+ if (ssm != null) {
+ pw.println();
+ pw.print(" RuntimeStarted=");
+ pw.print(sdf.format(
+ new Date(nowRTC - nowELAPSED + ssm.getRuntimeStartElapsedTime())));
+ if (ssm.isRuntimeRestarted()) {
+ pw.print(" (Runtime restarted)");
+ }
+ pw.println();
+ pw.print(" Runtime uptime (elapsed): ");
+ TimeUtils.formatDuration(nowELAPSED, ssm.getRuntimeStartElapsedTime(), pw);
+ pw.println();
+ pw.print(" Runtime uptime (uptime): ");
+ TimeUtils.formatDuration(nowUPTIME, ssm.getRuntimeStartUptime(), pw);
+ pw.println();
+ }
+
pw.println();
if (!mInteractive) {
pw.print(" Time since non-interactive: ");