summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vova Sharaienko <sharaienko@google.com> 2024-07-16 23:53:46 +0000
committer Vova Sharaienko <sharaienko@google.com> 2024-07-18 23:34:19 +0000
commit3411f95170477200ee71095ba54b8287eb37be47 (patch)
tree8f48071bf1aa3ea3f402fb6a8a64ac7ec351fca9
parentea74fe68b07c07b74ed9eddcb7cf4756c91866ea (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.bp7
-rw-r--r--services/core/java/com/android/server/am/BatteryStatsService.java38
-rw-r--r--services/core/java/com/android/server/power/stats/flags.aconfig7
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"
+}