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

Commit 80c3c157 authored by Alessio Balsini's avatar Alessio Balsini Committed by Android (Google) Code Review
Browse files

Merge "Extend atoms with Virtual A/B merge metrics"

parents ac8f1fbd 628fb8d9
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
@@ -392,6 +392,7 @@ message Atom {
        WifiFailureStatReported wifi_failure_stat_reported = 252 [(module) = "wifi"];
        WifiConnectionResultReported wifi_connection_result_reported = 253 [(module) = "wifi"];
        AppFreezeChanged app_freeze_changed = 254 [(module) = "framework"];
        SnapshotMergeReported snapshot_merge_reported = 255;
        SdkExtensionStatus sdk_extension_status = 354;
    }

@@ -4418,6 +4419,52 @@ message BootTimeEventErrorCode {
    optional int32 error_code = 2;
}

/**
 * Collects Virtual A/B statistics related to the use of dm-snapshot performed
 * after an OTA.
 *
 * Logged from:
 *  - system/core/fs_mgr/libsnapshot/snapshot.cpp
 *  - system/core/fs_mgr/libsnapshot/snapshotctl.cpp
 */
message SnapshotMergeReported {
    // Keep in sync with
    // system/core/fs_mgr/libsnapshot/android/snapshot/snapshot.proto
    enum UpdateState {
        // No update or merge is in progress.
        NONE = 0;
        // An update is applying; snapshots may already exist.
        INITIATED = 1;
        // An update is pending, but has not been successfully booted yet.
        UNVERIFIED = 2;
        // The kernel is merging in the background.
        MERGING = 3;
        // Post-merge cleanup steps could not be completed due to a transient
        // error, but the next reboot will finish any pending operations.
        MERGE_NEEDS_REBOOT = 4;
        // Merging is complete, and needs to be acknowledged.
        MERGE_COMPLETED = 5;
        // Merging failed due to an unrecoverable error.
        MERGE_FAILED = 6;
        // The update was implicitly cancelled, either by a rollback or a flash
        // operation via fastboot. This state can only be returned by WaitForMerge.
        CANCELLED = 7;
    };

    // Status of the update after the merge attempts.
    optional UpdateState final_state = 1;

    // Time to complete a merge operation in milliseconds.
    // A negative value corresponds to the case in which the merge operation
    // was interrupted and resumed (e.g. in case of a system reboot during the
    // merge).
    optional int64 duration_millis = 2;

    // Number of reboots that occurred after issuing and before completing the
    // merge of all the snapshot devices.
    optional int32 intermediate_reboots = 3;
}

//////////////////////////////////////////////////////////////////////
// Pulled atoms below this line //
//////////////////////////////////////////////////////////////////////