Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5235e10b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add/fix a few statsd atoms"

parents 202a0520 ddccf0a9
Loading
Loading
Loading
Loading
+84 −37
Original line number Original line Diff line number Diff line
@@ -46,12 +46,14 @@ message Atom {
        SyncStateChanged sync_state_changed = 7;
        SyncStateChanged sync_state_changed = 7;
        ScheduledJobStateChanged scheduled_job_state_changed = 8;
        ScheduledJobStateChanged scheduled_job_state_changed = 8;
        ScreenBrightnessChanged screen_brightness_changed = 9;
        ScreenBrightnessChanged screen_brightness_changed = 9;
        // 10-20 are temporarily reserved for wakelocks etc.
        WakelockStateChanged wakelock_state_changed = 10;
        WakelockStateChanged wakelock_state_changed = 10;
        UidWakelockStateChanged uid_wakelock_state_changed = 11;
        LongPartialWakelockStateChanged long_partial_wakelock_state_changed = 11;
        LongPartialWakelockStateChanged long_partial_wakelock_state_changed = 12;
        MobileRadioPowerStateChanged mobile_radio_power_state_changed = 12;
        BatterySaverModeStateChanged battery_saver_mode_state_changed = 21;
        WifiRadioPowerStateChanged wifi_radio_power_state_changed = 13;
        DeviceIdleModeStateChanged device_idle_mode_state_changed = 22;
        // TODO: 14-19 are blank, but need not be
        BatterySaverModeStateChanged battery_saver_mode_state_changed = 20;
        DeviceIdleModeStateChanged device_idle_mode_state_changed = 21;
        DeviceIdlingModeStateChanged device_idling_mode_state_changed = 22;
        AudioStateChanged audio_state_changed = 23;
        AudioStateChanged audio_state_changed = 23;
        MediaCodecActivityChanged media_codec_activity_changed = 24;
        MediaCodecActivityChanged media_codec_activity_changed = 24;
        CameraStateChanged camera_state_changed = 25;
        CameraStateChanged camera_state_changed = 25;
@@ -145,6 +147,7 @@ message ScreenStateChanged {
        STATE_DOZE = 3;
        STATE_DOZE = 3;
        STATE_DOZE_SUSPEND = 4;
        STATE_DOZE_SUSPEND = 4;
        STATE_VR = 5;
        STATE_VR = 5;
        STATE_ON_SUSPEND = 6;
    }
    }
    // New screen state.
    // New screen state.
    optional State display_state = 1;
    optional State display_state = 1;
@@ -177,12 +180,16 @@ message ProcessLifeCycleStateChanged {
    // TODO: What is this?
    // TODO: What is this?
    optional string name = 2;
    optional string name = 2;


    // The state.
    // What lifecycle state the process changed to.
    // TODO: Use an enum.
    // This enum is specific to atoms.proto.
    optional int32 event = 3;
    enum Event {
        PROCESS_FINISHED = 0;
        PROCESS_STARTED = 1;
        PROCESS_CRASHED = 2;
        PROCESS_ANRED = 3;
    }
    optional Event event = 3;
}
}




/**
/**
 * Logs when the ble scan state changes.
 * Logs when the ble scan state changes.
@@ -412,31 +419,6 @@ message WakelockStateChanged {
    optional State state = 4;
    optional State state = 4;
}
}


/**
 * Logs when an app is holding a wakelock, regardless of the wakelock's name.
 *
 * Logged from:
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message UidWakelockStateChanged {
    // TODO: Add attribution instead of uid.
    optional int32 uid = 1;

    // Type of wakelock.
    enum Type {
        PARTIAL = 0;
        FULL = 1;
        WINDOW = 2;
    }
    optional Type type = 2;

    enum State {
        OFF = 0;
        ON = 1;
    }
    optional State state = 3;
}

/**
/**
 * Logs when a partial wakelock is considered 'long' (over 1 min).
 * Logs when a partial wakelock is considered 'long' (over 1 min).
 *
 *
@@ -478,11 +460,33 @@ message BatterySaverModeStateChanged {
 * Logs Doze mode state change.
 * Logs Doze mode state change.
 *
 *
 * Logged from:
 * Logged from:
 *   frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
 */
message DeviceIdleModeStateChanged {
message DeviceIdleModeStateChanged {
    // TODO: Use the enum matching BatteryStats.DEVICE_IDLE_MODE_.
    // TODO: Use the enum matching BatteryStats.DEVICE_IDLE_MODE_.
    optional int32 state = 1;
    enum State {
        DEVICE_IDLE_MODE_OFF = 0;
        DEVICE_IDLE_MODE_LIGHT = 1;
        DEVICE_IDLE_MODE_DEEP = 2;
    }
    optional State state = 1;
}


/**
 * Logs state change of Doze mode including maintenance windows.
 *
 * Logged from:
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message DeviceIdlingModeStateChanged {
    // TODO: Use the enum matching BatteryStats.DEVICE_IDLE_MODE_.
    enum State {
        DEVICE_IDLE_MODE_OFF = 0;
        DEVICE_IDLE_MODE_LIGHT = 1;
        DEVICE_IDLE_MODE_DEEP = 2;
    }
    optional State state = 1;
}
}


/**
/**
@@ -582,6 +586,49 @@ message DeviceOnStatusChanged {
message WakeupAlarmOccurred {
message WakeupAlarmOccurred {
    // TODO: Add attribution instead of uid?
    // TODO: Add attribution instead of uid?
    optional int32 uid = 1;
    optional int32 uid = 1;

    // Name of the wakeup alarm.
    optional string tag = 2;
}

/**
 * Logs when an an app causes the mobile radio to change state.
 * Changing from LOW to MEDIUM or HIGH can be considered the app waking the mobile radio.
 *
 * Logged from:
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message MobileRadioPowerStateChanged {
    // TODO: Add attribution instead of uid?
    optional int32 uid = 1;

    // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states.
    enum PowerState {
        DC_POWER_STATE_LOW = 1;
        DC_POWER_STATE_MEDIUM = 2;
        DC_POWER_STATE_HIGH = 3;
    }
    optional PowerState power_state = 2;
}

/**
 * Logs when an an app causes the wifi radio to change state.
 * Changing from LOW to MEDIUM or HIGH can be considered the app waking the wifi radio.
 *
 * Logged from:
 *   frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java
 */
message WifiRadioPowerStateChanged {
    // TODO: Add attribution instead of uid?
    optional int32 uid = 1;

    // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states.
    enum PowerState {
        DC_POWER_STATE_LOW = 1;
        DC_POWER_STATE_MEDIUM = 2;
        DC_POWER_STATE_HIGH = 3;
    }
    optional PowerState power_state = 2;
}
}


/**
/**
+11 −8
Original line number Original line Diff line number Diff line
@@ -4389,6 +4389,7 @@ public class BatteryStatsImpl extends BatteryStats {
                    + Integer.toHexString(mHistoryCur.states));
                    + Integer.toHexString(mHistoryCur.states));
            addHistoryRecordLocked(elapsedRealtime, uptime);
            addHistoryRecordLocked(elapsedRealtime, uptime);
            mMobileRadioPowerState = powerState;
            mMobileRadioPowerState = powerState;
            StatsLog.write(StatsLog.MOBILE_RADIO_POWER_STATE_CHANGED, uid, powerState);
            if (active) {
            if (active) {
                mMobileRadioActiveTimer.startRunningLocked(elapsedRealtime);
                mMobileRadioActiveTimer.startRunningLocked(elapsedRealtime);
                mMobileRadioActivePerAppTimer.startRunningLocked(elapsedRealtime);
                mMobileRadioActivePerAppTimer.startRunningLocked(elapsedRealtime);
@@ -4426,7 +4427,7 @@ public class BatteryStatsImpl extends BatteryStats {
        }
        }
    }
    }
    public void noteDeviceIdleModeLocked(int mode, String activeReason, int activeUid) {
    public void noteDeviceIdleModeLocked(final int mode, String activeReason, int activeUid) {
        final long elapsedRealtime = mClocks.elapsedRealtime();
        final long elapsedRealtime = mClocks.elapsedRealtime();
        final long uptime = mClocks.uptimeMillis();
        final long uptime = mClocks.uptimeMillis();
        boolean nowIdling = mode == DEVICE_IDLE_MODE_DEEP;
        boolean nowIdling = mode == DEVICE_IDLE_MODE_DEEP;
@@ -4445,6 +4446,13 @@ public class BatteryStatsImpl extends BatteryStats {
            addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_ACTIVE,
            addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_ACTIVE,
                    activeReason, activeUid);
                    activeReason, activeUid);
        }
        }
        if (mDeviceIdling != nowIdling || mDeviceLightIdling != nowLightIdling) {
            int statsmode;
            if (nowIdling)           statsmode = DEVICE_IDLE_MODE_DEEP;
            else if (nowLightIdling) statsmode = DEVICE_IDLE_MODE_LIGHT;
            else                     statsmode = DEVICE_IDLE_MODE_OFF;
            StatsLog.write(StatsLog.DEVICE_IDLING_MODE_STATE_CHANGED, statsmode);
        }
        if (mDeviceIdling != nowIdling) {
        if (mDeviceIdling != nowIdling) {
            mDeviceIdling = nowIdling;
            mDeviceIdling = nowIdling;
            int stepState = nowIdling ? STEP_LEVEL_MODE_DEVICE_IDLE : 0;
            int stepState = nowIdling ? STEP_LEVEL_MODE_DEVICE_IDLE : 0;
@@ -4489,6 +4497,7 @@ public class BatteryStatsImpl extends BatteryStats {
                mDeviceIdleModeFullTimer.startRunningLocked(elapsedRealtime);
                mDeviceIdleModeFullTimer.startRunningLocked(elapsedRealtime);
            }
            }
            mDeviceIdleMode = mode;
            mDeviceIdleMode = mode;
            StatsLog.write(StatsLog.DEVICE_IDLE_MODE_STATE_CHANGED, mode);
        }
        }
    }
    }
@@ -5085,6 +5094,7 @@ public class BatteryStatsImpl extends BatteryStats {
                    + Integer.toHexString(mHistoryCur.states));
                    + Integer.toHexString(mHistoryCur.states));
            addHistoryRecordLocked(elapsedRealtime, uptime);
            addHistoryRecordLocked(elapsedRealtime, uptime);
            mWifiRadioPowerState = powerState;
            mWifiRadioPowerState = powerState;
            StatsLog.write(StatsLog.WIFI_RADIO_POWER_STATE_CHANGED, uid, powerState);
        }
        }
    }
    }
@@ -8928,8 +8938,6 @@ public class BatteryStatsImpl extends BatteryStats {
            }
            }
            if (type == WAKE_TYPE_PARTIAL) {
            if (type == WAKE_TYPE_PARTIAL) {
                createAggregatedPartialWakelockTimerLocked().startRunningLocked(elapsedRealtimeMs);
                createAggregatedPartialWakelockTimerLocked().startRunningLocked(elapsedRealtimeMs);
                // TODO(statsd): Possibly use a worksource instead of a uid.
                StatsLog.write(StatsLog.UID_WAKELOCK_STATE_CHANGED, getUid(), type, 1);
                if (pid >= 0) {
                if (pid >= 0) {
                    Pid p = getPidStatsLocked(pid);
                    Pid p = getPidStatsLocked(pid);
                    if (p.mWakeNesting++ == 0) {
                    if (p.mWakeNesting++ == 0) {
@@ -8952,11 +8960,6 @@ public class BatteryStatsImpl extends BatteryStats {
            if (type == WAKE_TYPE_PARTIAL) {
            if (type == WAKE_TYPE_PARTIAL) {
                if (mAggregatedPartialWakelockTimer != null) {
                if (mAggregatedPartialWakelockTimer != null) {
                    mAggregatedPartialWakelockTimer.stopRunningLocked(elapsedRealtimeMs);
                    mAggregatedPartialWakelockTimer.stopRunningLocked(elapsedRealtimeMs);
                    if (!mAggregatedPartialWakelockTimer.isRunningLocked()) {
                        // TODO(statsd): Possibly use a worksource instead of a uid.
                        StatsLog.write(StatsLog.UID_WAKELOCK_STATE_CHANGED, getUid(), type,
                                0);
                    }
                }
                }
                if (pid >= 0) {
                if (pid >= 0) {
                    Pid p = mPids.get(pid);
                    Pid p = mPids.get(pid);
+2 −1
Original line number Original line Diff line number Diff line
@@ -13696,7 +13696,8 @@ public class ActivityManagerService extends IActivityManager.Stub
                    stats.getPackageStatsLocked(sourceUid >= 0 ? sourceUid : uid,
                    stats.getPackageStatsLocked(sourceUid >= 0 ? sourceUid : uid,
                            sourcePkg != null ? sourcePkg : rec.key.packageName);
                            sourcePkg != null ? sourcePkg : rec.key.packageName);
                pkg.noteWakeupAlarmLocked(tag);
                pkg.noteWakeupAlarmLocked(tag);
                StatsLog.write(StatsLog.WAKEUP_ALARM_OCCURRED, sourceUid >= 0 ? sourceUid : uid);
                StatsLog.write(StatsLog.WAKEUP_ALARM_OCCURRED, sourceUid >= 0 ? sourceUid : uid,
                        tag);
            }
            }
        }
        }
    }
    }
+0 −1
Original line number Original line Diff line number Diff line
@@ -932,7 +932,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub
        enforceCallingPermission();
        enforceCallingPermission();
        synchronized (mStats) {
        synchronized (mStats) {
            mStats.noteDeviceIdleModeLocked(mode, activeReason, activeUid);
            mStats.noteDeviceIdleModeLocked(mode, activeReason, activeUid);
            StatsLog.write(StatsLog.DEVICE_IDLE_MODE_STATE_CHANGED, mode);
        }
        }
    }
    }