Reduce logging frequency of powerstats data
Test: atest FrameworksServicesTests:PowerStatsServiceTest Bug: 176854474 Change-Id: I940213ab43c25207e9655513d8aeb05feb2b843d
This commit is contained in:
@@ -43,7 +43,7 @@ public final class BatteryTrigger extends PowerStatsLogTrigger {
|
||||
|
||||
if (newBatteryLevel < mBatteryLevel) {
|
||||
if (DEBUG) Slog.d(TAG, "Battery level dropped. Log rail data");
|
||||
logPowerStatsData();
|
||||
logPowerStatsData(PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_BATTERY_DROP);
|
||||
}
|
||||
|
||||
mBatteryLevel = newBatteryLevel;
|
||||
|
||||
@@ -31,10 +31,8 @@ public abstract class PowerStatsLogTrigger {
|
||||
protected Context mContext;
|
||||
private PowerStatsLogger mPowerStatsLogger;
|
||||
|
||||
protected void logPowerStatsData() {
|
||||
Message.obtain(
|
||||
mPowerStatsLogger,
|
||||
PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE).sendToTarget();
|
||||
protected void logPowerStatsData(int msgType) {
|
||||
Message.obtain(mPowerStatsLogger, msgType).sendToTarget();
|
||||
}
|
||||
|
||||
public PowerStatsLogTrigger(Context context, PowerStatsLogger powerStatsLogger) {
|
||||
|
||||
@@ -52,7 +52,8 @@ import java.io.IOException;
|
||||
public final class PowerStatsLogger extends Handler {
|
||||
private static final String TAG = PowerStatsLogger.class.getSimpleName();
|
||||
private static final boolean DEBUG = false;
|
||||
protected static final int MSG_LOG_TO_DATA_STORAGE = 0;
|
||||
protected static final int MSG_LOG_TO_DATA_STORAGE_TIMER = 0;
|
||||
protected static final int MSG_LOG_TO_DATA_STORAGE_BATTERY_DROP = 1;
|
||||
|
||||
private final PowerStatsDataStorage mPowerStatsMeterStorage;
|
||||
private final PowerStatsDataStorage mPowerStatsModelStorage;
|
||||
@@ -62,8 +63,8 @@ public final class PowerStatsLogger extends Handler {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
switch (msg.what) {
|
||||
case MSG_LOG_TO_DATA_STORAGE:
|
||||
if (DEBUG) Slog.d(TAG, "Logging to data storage");
|
||||
case MSG_LOG_TO_DATA_STORAGE_TIMER:
|
||||
if (DEBUG) Slog.d(TAG, "Logging to data storage on timer");
|
||||
|
||||
// Log power meter data.
|
||||
EnergyMeasurement[] energyMeasurements =
|
||||
@@ -78,6 +79,10 @@ public final class PowerStatsLogger extends Handler {
|
||||
mPowerStatsModelStorage.write(
|
||||
EnergyConsumerResultUtils.getProtoBytes(energyConsumerResults));
|
||||
if (DEBUG) EnergyConsumerResultUtils.print(energyConsumerResults);
|
||||
break;
|
||||
|
||||
case MSG_LOG_TO_DATA_STORAGE_BATTERY_DROP:
|
||||
if (DEBUG) Slog.d(TAG, "Logging to data storage on battery drop");
|
||||
|
||||
// Log state residency data.
|
||||
StateResidencyResult[] stateResidencyResults =
|
||||
|
||||
@@ -29,7 +29,7 @@ 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 = 60 * 1000;
|
||||
private static final long LOG_PERIOD_MS = 120 * 1000;
|
||||
|
||||
private final Handler mHandler;
|
||||
|
||||
@@ -40,7 +40,7 @@ public final class TimerTrigger extends PowerStatsLogTrigger {
|
||||
// LOG_PERIOD_MS.
|
||||
mHandler.postDelayed(mLogData, LOG_PERIOD_MS);
|
||||
if (DEBUG) Slog.d(TAG, "Received delayed message. Log rail data");
|
||||
logPowerStatsData();
|
||||
logPowerStatsData(PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_TIMER);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -78,6 +78,7 @@ public class PowerStatsServiceTest {
|
||||
private PowerStatsService mService;
|
||||
private File mDataStorageDir;
|
||||
private TimerTrigger mTimerTrigger;
|
||||
private BatteryTrigger mBatteryTrigger;
|
||||
private PowerStatsLogger mPowerStatsLogger;
|
||||
|
||||
private final PowerStatsService.Injector mInjector = new PowerStatsService.Injector() {
|
||||
@@ -125,7 +126,9 @@ public class PowerStatsServiceTest {
|
||||
|
||||
@Override
|
||||
BatteryTrigger createBatteryTrigger(Context context, PowerStatsLogger powerStatsLogger) {
|
||||
return new BatteryTrigger(context, powerStatsLogger, false /* trigger enabled */);
|
||||
mBatteryTrigger = new BatteryTrigger(context, powerStatsLogger,
|
||||
false /* trigger enabled */);
|
||||
return mBatteryTrigger;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -237,7 +240,7 @@ public class PowerStatsServiceTest {
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
|
||||
// Write data to on-device storage.
|
||||
mTimerTrigger.logPowerStatsData();
|
||||
mTimerTrigger.logPowerStatsData(PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_TIMER);
|
||||
|
||||
// The above call puts a message on a handler. Wait for
|
||||
// it to be processed.
|
||||
@@ -278,7 +281,7 @@ public class PowerStatsServiceTest {
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
|
||||
// Write data to on-device storage.
|
||||
mTimerTrigger.logPowerStatsData();
|
||||
mTimerTrigger.logPowerStatsData(PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_TIMER);
|
||||
|
||||
// The above call puts a message on a handler. Wait for
|
||||
// it to be processed.
|
||||
@@ -318,7 +321,7 @@ public class PowerStatsServiceTest {
|
||||
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
|
||||
// Write data to on-device storage.
|
||||
mTimerTrigger.logPowerStatsData();
|
||||
mBatteryTrigger.logPowerStatsData(PowerStatsLogger.MSG_LOG_TO_DATA_STORAGE_BATTERY_DROP);
|
||||
|
||||
// The above call puts a message on a handler. Wait for
|
||||
// it to be processed.
|
||||
|
||||
Reference in New Issue
Block a user