From a13815ab78bf6c506b421b44fd1d49c3eb99ff64 Mon Sep 17 00:00:00 2001 From: Kunal Malhotra Date: Fri, 5 May 2023 18:10:43 +0000 Subject: [PATCH] Adding proc state to wakelock logging Test: manual testing on device Bug: b/254672001 Change-Id: I7ca01d6883b2742369f624ec1eca694e20cf9ab7 --- .../server/power/stats/BatteryStatsImpl.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java index 661715c0eb124..93d6676dd9290 100644 --- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java @@ -4745,17 +4745,19 @@ public class BatteryStatsImpl extends BatteryStats { requestWakelockCpuUpdate(); } - getUidStatsLocked(mappedUid, elapsedRealtimeMs, uptimeMs) - .noteStartWakeLocked(pid, name, type, elapsedRealtimeMs); + Uid uidStats = getUidStatsLocked(mappedUid, elapsedRealtimeMs, uptimeMs); + uidStats.noteStartWakeLocked(pid, name, type, elapsedRealtimeMs); + + int procState = uidStats.mProcessState; if (wc != null) { FrameworkStatsLog.write(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, wc.getUids(), wc.getTags(), getPowerManagerWakeLockLevel(type), name, - FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE); + FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE, procState); } else { FrameworkStatsLog.write_non_chained(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, mapIsolatedUid(uid), null, getPowerManagerWakeLockLevel(type), name, - FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE); + FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE, procState); } } } @@ -4796,16 +4798,18 @@ public class BatteryStatsImpl extends BatteryStats { requestWakelockCpuUpdate(); } - getUidStatsLocked(mappedUid, elapsedRealtimeMs, uptimeMs) - .noteStopWakeLocked(pid, name, type, elapsedRealtimeMs); + Uid uidStats = getUidStatsLocked(mappedUid, elapsedRealtimeMs, uptimeMs); + uidStats.noteStopWakeLocked(pid, name, type, elapsedRealtimeMs); + + int procState = uidStats.mProcessState; if (wc != null) { FrameworkStatsLog.write(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, wc.getUids(), wc.getTags(), getPowerManagerWakeLockLevel(type), name, - FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE); + FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE, procState); } else { FrameworkStatsLog.write_non_chained(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, mapIsolatedUid(uid), null, getPowerManagerWakeLockLevel(type), name, - FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE); + FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE, procState); } if (mappedUid != uid) {