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

Commit c03bc63a authored by Andrew Chant's avatar Andrew Chant
Browse files

Add new hardware reliability actions and fields

Add ACTION_BATTERY_CAUSED_SHUTDOWN, ACTION_SLOW_IO,
ACTION_SPEAKER_IMPEDANCE, and associated new fields.

For pre-existing actions, add FIELD_SPEAKER_LOCATION,
 FIELD_BATTERY_RESISTANCE_UOHMS, FIELD_BATTERY_CURRENT_UA,
 FIELD_HARDWARE_LOCATION.

ACTION_BATTERY_CAUSED_SHUTDOWN
Fired after a boot if the previous boot was detected to be caused
by shutdown due to low battery, this reports the last recorded
low battery voltage.

It uses FIELD_BATTERY_VOLTAGE_UV to report the voltage.

ACTION_SLOW_IO
Daily aggregated count of IO operations that exceed max expected
threshelds, indicating hardware failures.

FIELD_IO_OPERATION_TYPE indicates the type of slow operation, and
FIELD_COUNT indicates how many occured aggregated over 24hrs.

ACTION_SPEAKER_IMPEDANCE
Last recorded speaker impdenace, reported daily.

Uses FIELD_SPEAKER_IMPEDANCE_MILLIOHMS and FIELD_SPEAKER_LOCATION
to report the impedance of each speaker.

Bug: 79996489
Bug: 79881385
Test: Booted and issued ACTIONs via pixelstats HAL.
Change-Id: I95b85fbd38e3a03ebeb146b65ffce17d982d4d6a
parent 97abc762
Loading
Loading
Loading
Loading
+78 −13
Original line number Diff line number Diff line
@@ -205,6 +205,14 @@ message MetricsEvent {
        HARDWARE_FAILURE_FINGERPRINT_TOO_MANY_DEAD_PIXELS = 5;
    }

    enum IoOperation {
        IOOP_UNKNOWN = 0;
        IOOP_READ = 1;
        IOOP_WRITE = 2;
        IOOP_UNMAP = 3;
        IOOP_SYNC = 4;
    }

  // Known visual elements: views or controls.
  enum View {
    // Unknown view
@@ -5931,8 +5939,7 @@ message MetricsEvent {
    // ACTION: Battery health snapshot
    // CATEGORY: OTHER
    // OS: P
    // uses FIELD_END_BATTERY_PERCENT for batt %
    // uses FIELD_END_BATTERY_UA for instantaneous current load
    // uses FIELD_END_BATTERY_PERCENT for instantaneous batt %
    ACTION_BATTERY_HEALTH = 1433;

    // FIELD: Battery health snapshot type - min daily voltage, resistance, etc.
@@ -5940,31 +5947,33 @@ message MetricsEvent {
    // OS: P
    FIELD_BATTERY_HEALTH_SNAPSHOT_TYPE = 1434;

    // FIELD: Battery temperature at snapshop.
    // FIELD: Battery temperature at snapshot, in 1/10 deg C.
    // CATEGORY: OTHER
    // OS: P
    FIELD_BATTERY_TEMPERATURE = 1435;
    FIELD_BATTERY_TEMPERATURE_DECI_C = 1435;

    // FIELD: Battery voltage at snapshot.
    // FIELD: Battery voltage at snapshot, in microVolts.
    // CATEGORY: OTHER
    // OS: P
    FIELD_BATTERY_VOLTAGE = 1436;
    FIELD_BATTERY_VOLTAGE_UV = 1436;

    // FIELD: Battery open circuit voltage at snapshot.
    // FIELD: Battery open circuit voltage at snapshot, in microVolts.
    // CATEGORY: OTHER
    // OS: P
    FIELD_BATTERY_OPEN_CIRCUIT_VOLTAGE = 1437;
    FIELD_BATTERY_OPEN_CIRCUIT_VOLTAGE_UV = 1437;

    // ACTION: Battery charge cycles
    //         Number of times the battery has charged beyond a
    // ACTION: Number of times the battery has charged beyond a
    //         fractional threshold of full capacity.
    // CATEGORY: OTHER
    // OS: P
    ACTION_BATTERY_CHARGE_CYCLES = 1438;

    // FIELD: Battery charge cycles
    //        Number of times the battery has charged beyond a
    //        fractional threshold of full capacity.
    // FIELD: BATTERY_CHARGE_CYCLES - Number of times the battery has charged
    //                                beyond a fractional threshold of full
    //                                capacity.  A comma-separated string of
    //                                buckets.  If there are eight buckets,
    //                                each bucket represents charging to n/8
    //                                percent full.
    // CATEGORY: OTHER
    // OS: P
    FIELD_BATTERY_CHARGE_CYCLES = 1439;
@@ -5980,6 +5989,62 @@ message MetricsEvent {
    // OS: P
    DIALOG_BLUETOOTH_DISABLE_A2DP_HW_OFFLOAD = 1441;

    // ACTION: SLOW_IO - I/O operation took longer than threshold,
    //                   reported aggregated per day when > 0.
    // CATEGORY: OTHER
    // OS: P
    ACTION_SLOW_IO = 1442;

    // FIELD: IO_OPERATION_TYPE - The IO Operation that caused the high latency.
    //        The value is an integer from the enum IoOperation.
    // CATEGORY: OTHER
    // OS: P
    FIELD_IO_OPERATION_TYPE = 1443;

    // FIELD: IO_OPERATION_COUNT - Count of how many times this slow IO operation happened
    //                over the past 24hr (reported only if > 0).
    // CATEGORY: OTHER
    // OS: P
    FIELD_IO_OPERATION_COUNT = 1444;

    // ACTION: Speaker Imedance - last recorded speaker impedance.
    //                            reported max once per 24hr.
    // CATEGORY: OTHER
    // OS: P
    ACTION_SPEAKER_IMPEDANCE = 1445;

    // FIELD: Speaker Impedance in milliohms.
    // CATEGORY: OTHER
    // OS: P
    FIELD_SPEAKER_IMPEDANCE_MILLIOHMS = 1446;

    // FIELD: Speaker Location - identifies one of several speakers on a device.
    // CATEGORY: OTHER
    // OS: P
    FIELD_SPEAKER_LOCATION = 1447;

    // FIELD: Instantaneous battery resistance in microohms.
    // CATEGORY: OTHER
    // OS: P
    FIELD_BATTERY_RESISTANCE_UOHMS = 1448;

    // FIELD: Instantaneous battery current - in microamps.
    // CATEGORY: OTHER
    // OS: P
    FIELD_BATTERY_CURRENT_UA = 1449;

    // FIELD: HARDWARE_LOCATION - Identifier for instance of a hardware type on a
    //                            board.
    // CATEGORY: OTHER
    // OS: P
    FIELD_HARDWARE_LOCATION = 1450;

    // ACTION: BATTERY_CAUSED_SHUTDOWN - shutdown due to low battery, the
    //                  action is logged after the subsequent boot.
    // CATEGORY: OTHER
    // OS: P
    ACTION_BATTERY_CAUSED_SHUTDOWN = 1451;

    // ---- End P Constants, all P constants go above this line ----
    // Add new aosp constants above this line.
    // END OF AOSP CONSTANTS