1 // This file is autogenerated 2 3 #pragma once 4 5 #include <stdint.h> 6 #include <vector> 7 #include <map> 8 #include <set> 9 #include <stddef.h> 10 11 #ifndef __ANDROID_API_T__ 12 #define __ANDROID_API_T__ 33 13 #endif 14 #ifndef __INTRODUCED_IN 15 #define __INTRODUCED_IN(api_level) 16 #endif 17 18 namespace chromeos_update_engine { 19 namespace statsd { 20 21 /* 22 * API For logging statistics events. 23 */ 24 25 /** 26 * Constants for atom codes. 27 */ 28 enum { 29 30 /** 31 * UpdateEngineUpdateAttemptReported update_engine_update_attempt_reported 32 * Usage: stats_write(UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED, int32_t attempt_number, int32_t payload_type, int32_t duration_boottime_in_minutes, int32_t duration_monotonic_in_minutes, int32_t payload_size_mib, int32_t attempt_result, int32_t error_code, char const* source_fingerprint, int64_t super_partition_size_bytes, int64_t slot_size_bytes, int64_t super_free_space_bytes, bool vab_compression_enabled, bool vab_compression_used); 33 */ 34 UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED = 225, 35 36 /** 37 * UpdateEngineSuccessfulUpdateReported update_engine_successful_update_reported 38 * Usage: stats_write(UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED, int32_t attempt_count, int32_t payload_type, int32_t payload_size_mib, int32_t total_bytes_downloaded_mib, int32_t download_overhead_percentage, int32_t total_duration_minutes, int32_t reboot_count, bool fec_enabled, bool hash_tree_enabled); 39 */ 40 UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED = 226, 41 42 /** 43 * SnapshotMergeReported snapshot_merge_reported 44 * Usage: stats_write(SNAPSHOT_MERGE_REPORTED, int32_t final_state, int64_t duration_millis, int32_t intermediate_reboots, bool is_vab_retrofit, int64_t cow_file_size_bytes, bool vab_compression_enabled, bool vab_compression_used, int64_t total_cow_size_bytes, int64_t estimated_cow_size_bytes, int32_t boot_complete_time_millis, int32_t boot_complete_to_merge_start_time_millis, int32_t merge_failure_code, char const* source_build_fingerprint, char const* target_build_fingerprint, bool userspace_snapshots_enabled, bool userspace_snapshots_used, bool xor_compression_enabled, bool xor_compression_used, bool iouring_used); 45 */ 46 SNAPSHOT_MERGE_REPORTED = 255 47 48 }; 49 50 // 51 // Constants for enum values 52 // 53 54 // Values for UpdateEngineUpdateAttemptReported.payload_type 55 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__PAYLOAD_TYPE__FULL = 10000; 56 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__PAYLOAD_TYPE__DELTA = 10001; 57 58 // Values for UpdateEngineUpdateAttemptReported.attempt_result 59 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__UPDATE_SUCCEEDED = 10000; 60 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__INTERNAL_ERROR = 10001; 61 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__PAYLOAD_DOWNLOAD_ERROR = 10002; 62 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__METADATA_MALFORMED = 10003; 63 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__OPERATION_MALFORMED = 10004; 64 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__OPERATION_EXECUTION_ERROR = 10005; 65 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__METADATA_VERIFICATION_FAILED = 10006; 66 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__PAYLOAD_VERIFICATION_FAILED = 10007; 67 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__VERIFICATION_FAILED = 10008; 68 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__POSTINSTALL_FAILED = 10009; 69 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__ABNORMAL_TERMINATION = 10010; 70 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__UPDATE_CANCELED = 10011; 71 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__UPDATE_SUCCEEDED_NOT_ACTIVE = 10012; 72 73 // Values for UpdateEngineUpdateAttemptReported.error_code 74 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__SUCCESS = 10000; 75 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__ERROR = 10001; 76 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__FILESYSTEM_COPIER_ERROR = 10004; 77 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__POST_INSTALL_RUNNER_ERROR = 10005; 78 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_MISMATCHED_TYPE_ERROR = 10006; 79 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__INSTALL_DEVICE_OPEN_ERROR = 10007; 80 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__KERNEL_DEVICE_OPEN_ERROR = 10008; 81 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_TRANSFER_ERROR = 10009; 82 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_HASH_MISMATCH_ERROR = 10010; 83 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_SIZE_MISMATCH_ERROR = 10011; 84 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 10012; 85 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_NEW_PARTITION_INFO_ERROR = 10013; 86 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_WRITE_ERROR = 10014; 87 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__NEW_ROOTFS_VERIFICATION_ERROR = 10015; 88 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__SIGNED_DELTA_PAYLOAD_EXPECTED_ERROR = 10017; 89 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_PAYLOAD_PUB_KEY_VERIFICATION_ERROR = 10018; 90 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_STATE_INITIALIZATION_ERROR = 10020; 91 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_INVALID_METADATA_MAGIC_STRING = 10021; 92 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_SIGNATURE_MISSING_IN_MANIFEST = 10022; 93 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_MANIFEST_PARSE_ERROR = 10023; 94 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_ERROR = 10024; 95 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_VERIFICATION_ERROR = 10025; 96 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_MISMATCH = 10026; 97 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_HASH_VERIFICATION_ERROR = 10027; 98 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_EXECUTION_ERROR = 10028; 99 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_HASH_MISMATCH = 10029; 100 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_INVALID_METADATA_SIZE = 10032; 101 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_INVALID_METADATA_SIGNATURE = 10033; 102 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_HASH_MISSING_ERROR = 10038; 103 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_MISSING_ERROR = 10039; 104 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__UNSUPPORTED_MAJOR_PAYLOAD_VERSION = 10044; 105 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__UNSUPPORTED_MINOR_PAYLOAD_VERSION = 10045; 106 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__FILESYSTEM_VERIFIER_ERROR = 10047; 107 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__USER_CANCELED = 10048; 108 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_TIMESTAMP_ERROR = 10051; 109 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__UPDATED_BUT_NOT_ACTIVE = 10052; 110 111 // Values for UpdateEngineSuccessfulUpdateReported.payload_type 112 const int32_t UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED__PAYLOAD_TYPE__FULL = 10000; 113 const int32_t UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED__PAYLOAD_TYPE__DELTA = 10001; 114 115 // Values for SnapshotMergeReported.final_state 116 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__NONE = 0; 117 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__INITIATED = 1; 118 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__UNVERIFIED = 2; 119 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGING = 3; 120 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGE_NEEDS_REBOOT = 4; 121 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGE_COMPLETED = 5; 122 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGE_FAILED = 6; 123 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__CANCELLED = 7; 124 125 // Values for SnapshotMergeReported.merge_failure_code 126 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__OK = 0; 127 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__READ_STATUS = 1; 128 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__GET_TABLE_INFO = 2; 129 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNKNOWN_TABLE = 3; 130 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__GET_TABLE_PARAMS = 4; 131 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__ACTIVATE_NEW_TABLE = 5; 132 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__ACQUIRE_LOCK = 6; 133 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__LIST_SNAPSHOTS = 7; 134 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__WRITE_STATUS = 8; 135 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNKNOWN_TARGET_TYPE = 9; 136 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__QUERY_SNAPSHOT_STATUS = 10; 137 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__EXPECTED_MERGE_TARGET = 11; 138 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNMERGED_SECTORS_AFTER_COMPLETION = 12; 139 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNEXPECTED_MERGE_STATE = 13; 140 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__GET_COW_PATH_CONSISTENCY_CHECK = 14; 141 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__OPEN_COW_CONSISTENCY_CHECK = 15; 142 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__PARSE_COW_CONSISTENCY_CHECK = 16; 143 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__OPEN_COW_DIRECT_CONSISTENCY_CHECK = 17; 144 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__MEM_ALIGN_CONSISTENCY_CHECK = 18; 145 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__DIRECT_READ_CONSISTENCY_CHECK = 19; 146 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__WRONG_MERGE_COUNT_CONSISTENCY_CHECK = 20; 147 148 struct BytesField { BytesFieldBytesField149 BytesField(char const* array, size_t len) : arg(array), arg_length(len) {} 150 char const* arg; 151 size_t arg_length; 152 }; 153 154 // 155 // Write methods 156 // 157 int stats_write(int32_t code, int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int32_t arg5, int32_t arg6, int32_t arg7, bool arg8, bool arg9); 158 int stats_write(int32_t code, int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int32_t arg5, int32_t arg6, int32_t arg7, char const* arg8, int64_t arg9, int64_t arg10, int64_t arg11, bool arg12, bool arg13); 159 int stats_write(int32_t code, int32_t arg1, int64_t arg2, int32_t arg3, bool arg4, int64_t arg5, bool arg6, bool arg7, int64_t arg8, int64_t arg9, int32_t arg10, int32_t arg11, int32_t arg12, char const* arg13, char const* arg14, bool arg15, bool arg16, bool arg17, bool arg18, bool arg19); 160 161 // 162 // Write flattened methods 163 // 164 165 // 166 // Add AStatsEvent methods 167 // 168 169 } // namespace statsd 170 } // namespace chromeos_update_engine 171