diff options
| author | 2024-07-16 23:53:46 +0000 | |
|---|---|---|
| committer | 2024-07-18 23:34:19 +0000 | |
| commit | 3411f95170477200ee71095ba54b8287eb37be47 (patch) | |
| tree | 8f48071bf1aa3ea3f402fb6a8a64ac7ec351fca9 | |
| parent | ea74fe68b07c07b74ed9eddcb7cf4756c91866ea (diff) | |
[BatteryStatsService] Disable deprecated BatteryUsageStatsAtom
- added dedicated flag to depricate composite atoms
Bug: 353538348
Test: atest PowerStatsTestsRavenwood
Test: atest PowerStatsTests
Flag: com.android.server.power.optimization.disable_composite_battery_usage_stats_atoms
Change-Id: Ia189e61246f4a6595087302f133ca62581b515da
| -rw-r--r-- | AconfigFlags.bp | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/BatteryStatsService.java | 38 | ||||
| -rw-r--r-- | services/core/java/com/android/server/power/stats/flags.aconfig | 7 |
3 files changed, 40 insertions, 12 deletions
diff --git a/AconfigFlags.bp b/AconfigFlags.bp index a16aa2dea25b..0e6a94c33489 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -1490,6 +1490,13 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } +java_aconfig_library { + name: "backstage_power_flags_lib-host", + aconfig_declarations: "backstage_power_flags", + host_supported: true, + defaults: ["framework-minus-apex-aconfig-java-defaults"], +} + // Dropbox data aconfig_declarations { name: "dropbox_flags", diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index d2c6e555e24a..8df4e7702be8 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -1104,18 +1104,20 @@ public final class BatteryStatsService extends IBatteryStats.Stub final StatsManager statsManager = mContext.getSystemService(StatsManager.class); final StatsPullAtomCallbackImpl pullAtomCallback = new StatsPullAtomCallbackImpl(); - statsManager.setPullAtomCallback( - FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET, - null, // use default PullAtomMetadata values - DIRECT_EXECUTOR, pullAtomCallback); - statsManager.setPullAtomCallback( - FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL, - null, // use default PullAtomMetadata values - DIRECT_EXECUTOR, pullAtomCallback); - statsManager.setPullAtomCallback( - FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET, - null, // use default PullAtomMetadata values - DIRECT_EXECUTOR, pullAtomCallback); + if (!Flags.disableCompositeBatteryUsageStatsAtoms()) { + statsManager.setPullAtomCallback( + FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET, + null, // use default PullAtomMetadata values + DIRECT_EXECUTOR, pullAtomCallback); + statsManager.setPullAtomCallback( + FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL, + null, // use default PullAtomMetadata values + DIRECT_EXECUTOR, pullAtomCallback); + statsManager.setPullAtomCallback( + FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET, + null, // use default PullAtomMetadata values + DIRECT_EXECUTOR, pullAtomCallback); + } if (Flags.addBatteryUsageStatsSliceAtom()) { statsManager.setPullAtomCallback( FrameworkStatsLog.BATTERY_USAGE_STATS_PER_UID, @@ -1132,6 +1134,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub final BatteryUsageStats bus; switch (atomTag) { case FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET: { + if (Flags.disableCompositeBatteryUsageStatsAtoms()) { + return StatsManager.PULL_SKIP; + } + @SuppressLint("MissingPermission") final double minConsumedPowerThreshold = DeviceConfig.getFloat(DEVICE_CONFIG_NAMESPACE, @@ -1148,6 +1154,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub break; } case FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL: + if (Flags.disableCompositeBatteryUsageStatsAtoms()) { + return StatsManager.PULL_SKIP; + } + final BatteryUsageStatsQuery queryPowerProfile = new BatteryUsageStatsQuery.Builder() .setMaxStatsAgeMs(0) @@ -1159,6 +1169,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub bus = getBatteryUsageStats(List.of(queryPowerProfile)).get(0); break; case FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET: { + if (Flags.disableCompositeBatteryUsageStatsAtoms()) { + return StatsManager.PULL_SKIP; + } + final long sessionStart = getLastBatteryUsageStatsBeforeResetAtomPullTimestamp(); final long sessionEnd; diff --git a/services/core/java/com/android/server/power/stats/flags.aconfig b/services/core/java/com/android/server/power/stats/flags.aconfig index 05496cff2ee9..cc0a283db6a0 100644 --- a/services/core/java/com/android/server/power/stats/flags.aconfig +++ b/services/core/java/com/android/server/power/stats/flags.aconfig @@ -61,3 +61,10 @@ flag { description: "Batterystats dumpsys is enhanced by including power break-down by power s" bug: "352835319" } + +flag { + name: "disable_composite_battery_usage_stats_atoms" + namespace: "backstage_power" + description: "Disable deprecated BatteryUsageStatsAtom pulled atom" + bug: "324602949" +} |