From 5a9c00e63e6adab403430a5372614c1545575313 Mon Sep 17 00:00:00 2001 From: mxyyiyi Date: Wed, 28 Aug 2024 12:11:45 +0800 Subject: [PATCH] Add log for fetch data from BatteryStatsManager. Bug: 362177550 Bug: 357978626 Test: manual Flag: EXEMPT bug fix Change-Id: Iec6e7ccb871cc34d5ab3d2c8d8414edef0118024 --- .../fuelgauge/batteryusage/DataProcessor.java | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java index da8481d3a13..ebe7996d335 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java +++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java @@ -172,13 +172,21 @@ public final class DataProcessor { /** Gets the {@link BatteryUsageStats} from system service. */ @Nullable public static BatteryUsageStats getBatteryUsageStats(final Context context) { + final long startTime = System.currentTimeMillis(); final BatteryUsageStatsQuery batteryUsageStatsQuery = new BatteryUsageStatsQuery.Builder() .includeBatteryHistory() .includeProcessStateData() .build(); - return context.getSystemService(BatteryStatsManager.class) - .getBatteryUsageStats(batteryUsageStatsQuery); + final BatteryUsageStats batteryUsageStats = + context.getSystemService(BatteryStatsManager.class) + .getBatteryUsageStats(batteryUsageStatsQuery); + Log.d( + TAG, + String.format( + "getBatteryUsageStats() from BatteryStatsManager in %d/ms", + System.currentTimeMillis() - startTime)); + return batteryUsageStats; } /** Gets the {@link UsageEvents} from system service for all unlocked users. */ @@ -1693,8 +1701,14 @@ public final class DataProcessor { final UserManager userManager = context.getSystemService(UserManager.class); final SparseArray batteryEntryList = new SparseArray<>(); final ArrayList results = new ArrayList<>(); + final long startTime = System.currentTimeMillis(); final List uidBatteryConsumers = batteryUsageStats.getUidBatteryConsumers(); + Log.d( + TAG, + String.format( + "get %d uidBatteryConsumers from BatteryUsageStats in %d/ms", + uidBatteryConsumers.size(), (System.currentTimeMillis() - startTime))); // Sort to have all apps with "real" UIDs first, followed by apps that are supposed // to be combined with the real ones. @@ -1763,9 +1777,11 @@ public final class DataProcessor { deviceConsumer.getConsumedPowerForCustomComponent(componentId))); } + final int numComponentEntries = batteryEntryList.size(); final List userBatteryConsumers = batteryUsageStats.getUserBatteryConsumers(); - for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) { + final int numUserEntries = userBatteryConsumers.size(); + for (int i = 0; i < numUserEntries; i++) { final UserBatteryConsumer consumer = userBatteryConsumers.get(i); results.add( new BatteryEntry( @@ -1785,6 +1801,13 @@ public final class DataProcessor { results.add(batteryEntryList.valueAt(i)); } + Log.d( + TAG, + String.format( + "getCoalescedUsageList(): uidEntries = %d, " + + "userEntries = %d, componentEntries = %d", + numUidSippers, numUserEntries, numComponentEntries)); + // The sort order must have changed, so re-sort based on total power use. results.sort(BatteryEntry.COMPARATOR); return results;