Loading core/res/res/values/config_battery_stats.xml +4 −0 Original line number Diff line number Diff line Loading @@ -74,5 +74,9 @@ It only affects the `dumpsys batterystats -\-checkin` command, The real checkin Format --> <integer name="config_batteryHistoryDumpRealCheckinWindowSize">86400000</integer> <!-- PowerStats log period on low frequency, default value is 1 hour (60 * 60 * 1000) in millis --> <integer name="config_powerStatsLogPeriodLowFrequencyMs">3600000</integer> <!-- PowerStats log period on high frequency, default value is 2 minutes (2 * 60 * 1000) in millis --> <integer name="config_powerStatsLogPeriodHighFrequencyMs">120000</integer> </resources> core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -5493,6 +5493,8 @@ <java-symbol type="integer" name="config_batteryHistoryDumpWindowSize" /> <java-symbol type="integer" name="config_batteryHistoryDumpCheckinWindowSize" /> <java-symbol type="integer" name="config_batteryHistoryDumpRealCheckinWindowSize" /> <java-symbol type="integer" name="config_powerStatsLogPeriodLowFrequencyMs" /> <java-symbol type="integer" name="config_powerStatsLogPeriodHighFrequencyMs" /> <!--Dynamic Tokens--> <java-symbol name="system_accent1_0_light" type="color"/> Loading services/core/java/com/android/server/power/stats/flags.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -57,3 +57,10 @@ flag { purpose: PURPOSE_BUGFIX } } flag { namespace: "backstage_power" name: "configure_power_stats_log_frequency" description: "Add a configurable value for power stats logging frequency" bug: "166689029" } services/core/java/com/android/server/powerstats/TimerTrigger.java +18 −3 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.os.Handler; import android.os.SystemClock; import android.util.Slog; import com.android.server.power.optimization.Flags; /** * TimerTrigger sets a 60 second opportunistic timer using postDelayed. * When the timer expires a message is sent to the PowerStatsLogger to Loading @@ -30,7 +32,6 @@ import android.util.Slog; public final class TimerTrigger extends PowerStatsLogTrigger { private static final String TAG = TimerTrigger.class.getSimpleName(); private static final boolean DEBUG = false; // TODO(b/166689029): Make configurable through global settings. private static final long LOG_PERIOD_MS_LOW_FREQUENCY = 60 * 60 * 1000; // 1 hour private static final long LOG_PERIOD_MS_HIGH_FREQUENCY = 2 * 60 * 1000; // 2 minutes Loading Loading @@ -66,15 +67,29 @@ public final class TimerTrigger extends PowerStatsLogTrigger { public TimerTrigger(Context context, PowerStatsLogger powerStatsLogger, boolean triggerEnabled) { super(context, powerStatsLogger); long logPeriodMsLowFrequency; long logPeriodMsHighFrequency; if (Flags.configurePowerStatsLogFrequency()) { logPeriodMsLowFrequency = mContext.getResources().getInteger( com.android.internal.R.integer .config_powerStatsLogPeriodLowFrequencyMs); logPeriodMsHighFrequency = mContext.getResources().getInteger( com.android.internal.R.integer .config_powerStatsLogPeriodHighFrequencyMs); } else { logPeriodMsLowFrequency = LOG_PERIOD_MS_LOW_FREQUENCY; logPeriodMsHighFrequency = LOG_PERIOD_MS_HIGH_FREQUENCY; } mHandler = mContext.getMainThreadHandler(); mAlarmManager = mContext.getSystemService(AlarmManager.class); if (triggerEnabled) { final PeriodicTimer logDataLowFrequency = new PeriodicTimer("PowerStatsLowFreqLog", LOG_PERIOD_MS_LOW_FREQUENCY, logPeriodMsLowFrequency, PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_LOW_FREQUENCY); final PeriodicTimer logDataHighFrequency = new PeriodicTimer("PowerStatsHighFreqLog", LOG_PERIOD_MS_HIGH_FREQUENCY, logPeriodMsHighFrequency, PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_HIGH_FREQUENCY); logDataLowFrequency.run(); logDataHighFrequency.run(); Loading Loading
core/res/res/values/config_battery_stats.xml +4 −0 Original line number Diff line number Diff line Loading @@ -74,5 +74,9 @@ It only affects the `dumpsys batterystats -\-checkin` command, The real checkin Format --> <integer name="config_batteryHistoryDumpRealCheckinWindowSize">86400000</integer> <!-- PowerStats log period on low frequency, default value is 1 hour (60 * 60 * 1000) in millis --> <integer name="config_powerStatsLogPeriodLowFrequencyMs">3600000</integer> <!-- PowerStats log period on high frequency, default value is 2 minutes (2 * 60 * 1000) in millis --> <integer name="config_powerStatsLogPeriodHighFrequencyMs">120000</integer> </resources>
core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -5493,6 +5493,8 @@ <java-symbol type="integer" name="config_batteryHistoryDumpWindowSize" /> <java-symbol type="integer" name="config_batteryHistoryDumpCheckinWindowSize" /> <java-symbol type="integer" name="config_batteryHistoryDumpRealCheckinWindowSize" /> <java-symbol type="integer" name="config_powerStatsLogPeriodLowFrequencyMs" /> <java-symbol type="integer" name="config_powerStatsLogPeriodHighFrequencyMs" /> <!--Dynamic Tokens--> <java-symbol name="system_accent1_0_light" type="color"/> Loading
services/core/java/com/android/server/power/stats/flags.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -57,3 +57,10 @@ flag { purpose: PURPOSE_BUGFIX } } flag { namespace: "backstage_power" name: "configure_power_stats_log_frequency" description: "Add a configurable value for power stats logging frequency" bug: "166689029" }
services/core/java/com/android/server/powerstats/TimerTrigger.java +18 −3 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.os.Handler; import android.os.SystemClock; import android.util.Slog; import com.android.server.power.optimization.Flags; /** * TimerTrigger sets a 60 second opportunistic timer using postDelayed. * When the timer expires a message is sent to the PowerStatsLogger to Loading @@ -30,7 +32,6 @@ import android.util.Slog; public final class TimerTrigger extends PowerStatsLogTrigger { private static final String TAG = TimerTrigger.class.getSimpleName(); private static final boolean DEBUG = false; // TODO(b/166689029): Make configurable through global settings. private static final long LOG_PERIOD_MS_LOW_FREQUENCY = 60 * 60 * 1000; // 1 hour private static final long LOG_PERIOD_MS_HIGH_FREQUENCY = 2 * 60 * 1000; // 2 minutes Loading Loading @@ -66,15 +67,29 @@ public final class TimerTrigger extends PowerStatsLogTrigger { public TimerTrigger(Context context, PowerStatsLogger powerStatsLogger, boolean triggerEnabled) { super(context, powerStatsLogger); long logPeriodMsLowFrequency; long logPeriodMsHighFrequency; if (Flags.configurePowerStatsLogFrequency()) { logPeriodMsLowFrequency = mContext.getResources().getInteger( com.android.internal.R.integer .config_powerStatsLogPeriodLowFrequencyMs); logPeriodMsHighFrequency = mContext.getResources().getInteger( com.android.internal.R.integer .config_powerStatsLogPeriodHighFrequencyMs); } else { logPeriodMsLowFrequency = LOG_PERIOD_MS_LOW_FREQUENCY; logPeriodMsHighFrequency = LOG_PERIOD_MS_HIGH_FREQUENCY; } mHandler = mContext.getMainThreadHandler(); mAlarmManager = mContext.getSystemService(AlarmManager.class); if (triggerEnabled) { final PeriodicTimer logDataLowFrequency = new PeriodicTimer("PowerStatsLowFreqLog", LOG_PERIOD_MS_LOW_FREQUENCY, logPeriodMsLowFrequency, PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_LOW_FREQUENCY); final PeriodicTimer logDataHighFrequency = new PeriodicTimer("PowerStatsHighFreqLog", LOG_PERIOD_MS_HIGH_FREQUENCY, logPeriodMsHighFrequency, PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_HIGH_FREQUENCY); logDataLowFrequency.run(); logDataHighFrequency.run(); Loading