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 <stats_pull_atom_callback.h>
10 #include <stddef.h>
11 
12 #ifndef __ANDROID_API_T__
13 #define __ANDROID_API_T__ 33
14 #endif
15 #ifndef __INTRODUCED_IN
16 #define __INTRODUCED_IN(api_level)
17 #endif
18 
19 namespace art {
20 namespace metrics {
21 namespace statsd {
22 
23 /*
24  * API For logging statistics events.
25  */
26 
27 /**
28  * Constants for atom codes.
29  */
30 enum {
31 
32     /**
33      * ArtDatumReported art_datum_reported
34      * Usage: stats_write(ART_DATUM_REPORTED, int64_t session_id, int32_t uid, int32_t compile_filter, int32_t compilation_reason, int64_t timestamp_millis, int32_t thread_type, int32_t kind, int64_t value, int32_t dex_metadata_type, int32_t apk_type, int32_t isa, int32_t gc, int32_t uffd_support);
35      */
36     ART_DATUM_REPORTED = 332,
37 
38     /**
39      * OdrefreshReported odrefresh_reported
40      * Usage: stats_write(ODREFRESH_REPORTED, int64_t art_apex_version, int32_t trigger, int32_t stage_reached, int32_t status, int32_t primary_bcp_compilation_seconds, int32_t secondary_bcp_compilation_seconds, int32_t system_server_compilation_seconds, int32_t cache_space_free_start_mib, int32_t cache_space_free_end_mib, int32_t primary_bcp_compilation_millis, int32_t secondary_bcp_compilation_millis, int32_t system_server_compilation_millis, int32_t primary_bcp_dex2oat_result_status, int32_t primary_bcp_dex2oat_result_exit_code, int32_t primary_bcp_dex2oat_result_signal, int32_t secondary_bcp_dex2oat_result_status, int32_t secondary_bcp_dex2oat_result_exit_code, int32_t secondary_bcp_dex2oat_result_signal, int32_t system_server_dex2oat_result_status, int32_t system_server_dex2oat_result_exit_code, int32_t system_server_dex2oat_result_signal, int32_t primary_bcp_compilation_type, int32_t secondary_bcp_compilation_type);
41      */
42     ODREFRESH_REPORTED = 366,
43 
44     /**
45      * EarlyBootCompOsArtifactsCheckReported early_boot_comp_os_artifacts_check_reported
46      * Usage: stats_write(EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED, bool current_artifacts_ok, bool comp_os_pending_artifacts_exists, bool use_comp_os_generated_artifacts);
47      */
48     EARLY_BOOT_COMP_OS_ARTIFACTS_CHECK_REPORTED = 419,
49 
50     /**
51      * IsolatedCompilationScheduled isolated_compilation_scheduled
52      * Usage: stats_write(ISOLATED_COMPILATION_SCHEDULED, int32_t scheduling_result);
53      */
54     ISOLATED_COMPILATION_SCHEDULED = 457,
55 
56     /**
57      * IsolatedCompilationEnded isolated_compilation_ended
58      * Usage: stats_write(ISOLATED_COMPILATION_ENDED, int64_t compilation_time_millis, int32_t compilation_result, int32_t compilation_job_stop_reason);
59      */
60     ISOLATED_COMPILATION_ENDED = 458,
61 
62     /**
63      * BackgroundDexoptJobEnded background_dexopt_job_ended
64      * Usage: stats_write(BACKGROUND_DEXOPT_JOB_ENDED, int32_t status, int32_t cancellation_reason, int64_t duration_ms, int64_t duration_including_sleep_ms, int32_t optimized_package_count, int32_t packages_depending_on_boot_classpath_count, int32_t total_package_count, int32_t pass);
65      */
66     BACKGROUND_DEXOPT_JOB_ENDED = 467,
67 
68     /**
69      * OdsignReported odsign_reported
70      * Usage: stats_write(ODSIGN_REPORTED, int32_t status);
71      */
72     ODSIGN_REPORTED = 548,
73 
74     /**
75      * ArtDeviceDatumReported art_device_datum_reported
76      * Usage: stats_write(ART_DEVICE_DATUM_REPORTED, int32_t boot_image_status);
77      */
78     ART_DEVICE_DATUM_REPORTED = 550,
79 
80     /**
81      * ArtDatumDeltaReported art_datum_delta_reported
82      * Usage: stats_write(ART_DATUM_DELTA_REPORTED, int64_t session_id, int32_t uid, int32_t compile_filter, int32_t compilation_reason, int64_t timestamp_millis, int32_t thread_type, int32_t kind, int64_t value, int32_t dex_metadata_type, int32_t apk_type, int32_t isa, int32_t gc, int32_t uffd_support);
83      */
84     ART_DATUM_DELTA_REPORTED = 565,
85 
86     /**
87      * PreRebootDexoptJobEnded prereboot_dexopt_job_ended
88      * Usage: stats_write(PREREBOOT_DEXOPT_JOB_ENDED, int32_t status, int32_t optimized_package_count, int32_t failed_package_count, int32_t skipped_package_count, int32_t total_package_count, int64_t job_duration_millis, int64_t job_latency_millis, int32_t packages_with_artifacts_after_reboot_count, int32_t packages_with_artifacts_usable_after_reboot_count, int32_t job_run_count, int32_t packages_with_artifacts_before_reboot_count, int32_t job_type);
89      */
90     PREREBOOT_DEXOPT_JOB_ENDED = 883,
91 
92     /**
93      * ArtDex2OatReported art_dex2oat_reported
94      * Usage: stats_write(ART_DEX2OAT_REPORTED, int32_t uid, int32_t compiler_filter, int32_t compilation_reason, int32_t dex_metadata_type, int32_t apk_type, int32_t isa, int32_t result_status, int32_t result_exit_code, int32_t result_signal, int32_t artifacts_size_kb, int32_t compilation_time_millis);
95      */
96     ART_DEX2OAT_REPORTED = 929,
97 
98     /**
99      * ArtDeviceStatus art_device_status
100      * Usage: stats_write(ART_DEVICE_STATUS, int32_t boot_image_status);
101      */
102     ART_DEVICE_STATUS = 10205
103 
104 };
105 
106 //
107 // Constants for enum values
108 //
109 
110 // Values for ArtDatumReported.compile_filter
111 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_UNSPECIFIED = 0;
112 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_ERROR = 1;
113 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_UNKNOWN = 2;
114 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_ASSUMED_VERIFIED = 3;
115 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_EXTRACT = 4;
116 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_VERIFY = 5;
117 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_QUICKEN = 6;
118 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPACE_PROFILE = 7;
119 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPACE = 8;
120 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPEED_PROFILE = 9;
121 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPEED = 10;
122 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_EVERYTHING_PROFILE = 11;
123 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_EVERYTHING = 12;
124 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK = 13;
125 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK_FALLBACK = 14;
126 const int32_t ART_DATUM_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_VDEX_FALLBACK = 15;
127 
128 // Values for ArtDatumReported.compilation_reason
129 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_UNSPECIFIED = 0;
130 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_ERROR = 1;
131 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_UNKNOWN = 2;
132 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_FIRST_BOOT = 3;
133 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT = 4;
134 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL = 5;
135 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BG_DEXOPT = 6;
136 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_AB_OTA = 7;
137 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INACTIVE = 8;
138 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_SHARED = 9;
139 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_WITH_DEX_METADATA = 10;
140 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_POST_BOOT = 11;
141 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_FAST = 12;
142 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK = 13;
143 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY = 14;
144 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_DOWNGRADED = 15;
145 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY_DOWNGRADED = 16;
146 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_OTA = 17;
147 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_PREBUILT = 18;
148 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_CMDLINE = 19;
149 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_VDEX = 20;
150 const int32_t ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_MAINLINE_UPDATE = 21;
151 
152 // Values for ArtDatumReported.thread_type
153 const int32_t ART_DATUM_REPORTED__THREAD_TYPE__ART_THREAD_UNKNOWN = 0;
154 const int32_t ART_DATUM_REPORTED__THREAD_TYPE__ART_THREAD_MAIN = 1;
155 const int32_t ART_DATUM_REPORTED__THREAD_TYPE__ART_THREAD_BACKGROUND = 2;
156 
157 // Values for ArtDatumReported.kind
158 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_INVALID = 0;
159 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_WORLD_STOP_TIME_AVG_MICROS = 1;
160 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_TIME_HISTO_MILLIS = 2;
161 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_COUNT = 3;
162 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_TIME_HISTO_MILLIS = 4;
163 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_COUNT = 5;
164 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_JIT_METHOD_COMPILE_TIME_MICROS = 6;
165 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_AOT_COMPILE_TIME = 7;
166 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_CLASS_VERIFICATION_TIME_COUNTER_MICROS = 8;
167 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_CLASS_LOADING_TIME_COUNTER_MICROS = 9;
168 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_DEX2OAT_RESULT_CODE = 10;
169 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_DEX2OAT_DEX_CODE_COUNTER_BYTES = 11;
170 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_DEX2OAT_TOTAL_TIME_COUNTER_MILLIS = 12;
171 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_DEX2OAT_VERIFY_DEX_FILE_TIME_COUNTER_MILLIS = 13;
172 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_DEX2OAT_FAST_VERIFY_TIME_COUNTER_MILLIS = 14;
173 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_DEX2OAT_RESOLVE_METHODS_AND_FIELDS_TIME_COUNTER_MILLIS = 15;
174 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_CLASS_VERIFICATION_COUNT = 16;
175 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_TOTAL_BYTES_ALLOCATED = 17;
176 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_TOTAL_METADATA_SIZE_BYTES = 18;
177 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_THROUGHPUT_HISTO_MB_PER_SEC = 19;
178 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_THROUGHPUT_HISTO_MB_PER_SEC = 20;
179 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_JIT_METHOD_COMPILE_COUNT = 21;
180 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_TRACING_THROUGHPUT_HISTO_MB_PER_SEC = 22;
181 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_TRACING_THROUGHPUT_HISTO_MB_PER_SEC = 23;
182 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_THROUGHPUT_AVG_MB_PER_SEC = 24;
183 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_THROUGHPUT_AVG_MB_PER_SEC = 25;
184 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_TRACING_THROUGHPUT_AVG_MB_PER_SEC = 26;
185 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_TRACING_THROUGHPUT_AVG_MB_PER_SEC = 27;
186 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_TOTAL_COLLECTION_TIME_MS = 28;
187 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_WORLD_STOP_TIME_US = 29;
188 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_WORLD_STOP_COUNT = 30;
189 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_SCANNED_BYTES = 31;
190 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_FREED_BYTES = 32;
191 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_YOUNG_GENERATION_COLLECTION_DURATION_MS = 33;
192 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_SCANNED_BYTES = 34;
193 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_FREED_BYTES = 35;
194 const int32_t ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_DURATION_MS = 36;
195 
196 // Values for ArtDatumReported.dex_metadata_type
197 const int32_t ART_DATUM_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_UNKNOWN = 0;
198 const int32_t ART_DATUM_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_PROFILE = 1;
199 const int32_t ART_DATUM_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_VDEX = 2;
200 const int32_t ART_DATUM_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_PROFILE_AND_VDEX = 3;
201 const int32_t ART_DATUM_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_NONE = 4;
202 const int32_t ART_DATUM_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_ERROR = 5;
203 
204 // Values for ArtDatumReported.apk_type
205 const int32_t ART_DATUM_REPORTED__APK_TYPE__ART_APK_TYPE_UNKNOWN = 0;
206 const int32_t ART_DATUM_REPORTED__APK_TYPE__ART_APK_TYPE_BASE = 1;
207 const int32_t ART_DATUM_REPORTED__APK_TYPE__ART_APK_TYPE_SPLIT = 2;
208 const int32_t ART_DATUM_REPORTED__APK_TYPE__ART_APK_TYPE_SECONDARY = 3;
209 
210 // Values for ArtDatumReported.isa
211 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_UNKNOWN = 0;
212 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_ARM = 1;
213 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_ARM64 = 2;
214 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_X86 = 3;
215 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_X86_64 = 4;
216 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_MIPS = 5;
217 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_MIPS64 = 6;
218 const int32_t ART_DATUM_REPORTED__ISA__ART_ISA_RISCV64 = 7;
219 
220 // Values for ArtDatumReported.gc
221 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_UNKNOWN = 0;
222 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_MARK_SWEEP = 1;
223 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_SWEEP = 2;
224 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT = 3;
225 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_SEMI_SPACE = 4;
226 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING = 5;
227 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING_BACKGROUND = 6;
228 const int32_t ART_DATUM_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT_BACKGROUND = 7;
229 
230 // Values for ArtDatumReported.uffd_support
231 const int32_t ART_DATUM_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_UNKNOWN = 0;
232 const int32_t ART_DATUM_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_UFFD_NOT_SUPPORTED = 1;
233 const int32_t ART_DATUM_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_MINOR_FAULT_MODE_NOT_SUPPORTED = 2;
234 const int32_t ART_DATUM_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_MINOR_FAULT_MODE_SUPPORTED = 3;
235 
236 // Values for OdrefreshReported.trigger
237 const int32_t ODREFRESH_REPORTED__TRIGGER__ODREFRESH_TRIGGER_UNKNOWN = 0;
238 const int32_t ODREFRESH_REPORTED__TRIGGER__ODREFRESH_TRIGGER_APEX_VERSION_MISMATCH = 1;
239 const int32_t ODREFRESH_REPORTED__TRIGGER__ODREFRESH_TRIGGER_DEX_FILES_CHANGED = 2;
240 const int32_t ODREFRESH_REPORTED__TRIGGER__ODREFRESH_TRIGGER_MISSING_ARTIFACTS = 3;
241 
242 // Values for OdrefreshReported.stage_reached
243 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_UNKNOWN = 0;
244 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_CHECK = 10;
245 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_PREPARATION = 20;
246 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_PRIMARY_BOOT_CLASSPATH = 30;
247 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_SECONDARY_BOOT_CLASSPATH = 40;
248 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_SYSTEM_SERVER_CLASSPATH = 50;
249 const int32_t ODREFRESH_REPORTED__STAGE_REACHED__ODREFRESH_STAGE_COMPLETE = 60;
250 
251 // Values for OdrefreshReported.status
252 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_UNKNOWN = 0;
253 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_OK = 1;
254 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_NO_SPACE = 2;
255 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_IO_ERROR = 3;
256 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_DEX2OAT_ERROR = 4;
257 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_STAGING_FAILED = 6;
258 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_INSTALL_FAILED = 7;
259 const int32_t ODREFRESH_REPORTED__STATUS__ODREFRESH_STATUS_DALVIK_CACHE_PERMISSION_DENIED = 8;
260 
261 // Values for OdrefreshReported.primary_bcp_dex2oat_result_status
262 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_UNKNOWN = 0;
263 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_EXITED = 1;
264 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_SIGNALED = 2;
265 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_TIMED_OUT = 3;
266 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_START_FAILED = 4;
267 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_NOT_RUN = 5;
268 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_CANCELLED = 6;
269 
270 // Values for OdrefreshReported.secondary_bcp_dex2oat_result_status
271 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_UNKNOWN = 0;
272 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_EXITED = 1;
273 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_SIGNALED = 2;
274 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_TIMED_OUT = 3;
275 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_START_FAILED = 4;
276 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_NOT_RUN = 5;
277 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_CANCELLED = 6;
278 
279 // Values for OdrefreshReported.system_server_dex2oat_result_status
280 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_UNKNOWN = 0;
281 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_EXITED = 1;
282 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_SIGNALED = 2;
283 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_TIMED_OUT = 3;
284 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_START_FAILED = 4;
285 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_NOT_RUN = 5;
286 const int32_t ODREFRESH_REPORTED__SYSTEM_SERVER_DEX2OAT_RESULT_STATUS__EXEC_RESULT_STATUS_CANCELLED = 6;
287 
288 // Values for OdrefreshReported.primary_bcp_compilation_type
289 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_COMPILATION_TYPE__ODREFRESH_BCP_COMPILATION_TYPE_UNKNOWN = 0;
290 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_COMPILATION_TYPE__ODREFRESH_BCP_COMPILATION_TYPE_PRIMARY_AND_MAINLINE = 1;
291 const int32_t ODREFRESH_REPORTED__PRIMARY_BCP_COMPILATION_TYPE__ODREFRESH_BCP_COMPILATION_TYPE_MAINLINE = 2;
292 
293 // Values for OdrefreshReported.secondary_bcp_compilation_type
294 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_COMPILATION_TYPE__ODREFRESH_BCP_COMPILATION_TYPE_UNKNOWN = 0;
295 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_COMPILATION_TYPE__ODREFRESH_BCP_COMPILATION_TYPE_PRIMARY_AND_MAINLINE = 1;
296 const int32_t ODREFRESH_REPORTED__SECONDARY_BCP_COMPILATION_TYPE__ODREFRESH_BCP_COMPILATION_TYPE_MAINLINE = 2;
297 
298 // Values for IsolatedCompilationScheduled.scheduling_result
299 const int32_t ISOLATED_COMPILATION_SCHEDULED__SCHEDULING_RESULT__SCHEDULING_RESULT_UNKNOWN = 0;
300 const int32_t ISOLATED_COMPILATION_SCHEDULED__SCHEDULING_RESULT__SCHEDULING_FAILURE = 1;
301 const int32_t ISOLATED_COMPILATION_SCHEDULED__SCHEDULING_RESULT__SCHEDULING_SUCCESS = 2;
302 
303 // Values for IsolatedCompilationEnded.compilation_result
304 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_UNKNOWN = 0;
305 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_SUCCESS = 1;
306 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_UNKNOWN_FAILURE = 2;
307 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_FAILED_TO_START = 3;
308 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_JOB_CANCELED = 4;
309 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_COMPILATION_FAILED = 5;
310 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_UNEXPECTED_COMPILATION_RESULT = 6;
311 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_COMPOSD_DIED = 7;
312 const int32_t ISOLATED_COMPILATION_ENDED__COMPILATION_RESULT__RESULT_FAILED_TO_ENABLE_FSVERITY = 8;
313 
314 // Values for BackgroundDexoptJobEnded.status
315 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_UNKNOWN = 0;
316 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_JOB_FINISHED = 1;
317 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_ABORT_BY_CANCELLATION = 2;
318 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_ABORT_NO_SPACE_LEFT = 3;
319 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_ABORT_THERMAL = 4;
320 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_ABORT_BATTERY = 5;
321 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_ABORT_BY_API = 6;
322 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__STATUS__STATUS_FATAL_ERROR = 7;
323 
324 // Values for BackgroundDexoptJobEnded.cancellation_reason
325 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_UNDEFINED = 0;
326 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_CANCELLED_BY_APP = 1;
327 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_PREEMPT = 2;
328 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_TIMEOUT = 3;
329 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_DEVICE_STATE = 4;
330 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_CONSTRAINT_BATTERY_NOT_LOW = 5;
331 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_CONSTRAINT_CHARGING = 6;
332 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_CONSTRAINT_CONNECTIVITY = 7;
333 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_CONSTRAINT_DEVICE_IDLE = 8;
334 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_CONSTRAINT_STORAGE_NOT_LOW = 9;
335 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_QUOTA = 10;
336 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_BACKGROUND_RESTRICTION = 11;
337 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_APP_STANDBY = 12;
338 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_USER = 13;
339 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_SYSTEM_PROCESSING = 14;
340 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_ESTIMATED_APP_LAUNCH_TIME_CHANGED = 15;
341 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__CANCELLATION_REASON__STOP_REASON_TIMEOUT_ABANDONED = 16;
342 
343 // Values for BackgroundDexoptJobEnded.pass
344 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__PASS__PASS_UNKNOWN = 0;
345 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__PASS__PASS_DOWNGRADE = 1;
346 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__PASS__PASS_MAIN = 2;
347 const int32_t BACKGROUND_DEXOPT_JOB_ENDED__PASS__PASS_SUPPLEMENTARY = 3;
348 
349 // Values for OdsignReported.status
350 const int32_t ODSIGN_REPORTED__STATUS__STATUS_UNSPECIFIED = 0;
351 const int32_t ODSIGN_REPORTED__STATUS__STATUS_ALL_OK = 1;
352 const int32_t ODSIGN_REPORTED__STATUS__STATUS_PARTIAL_OK = 2;
353 const int32_t ODSIGN_REPORTED__STATUS__STATUS_ODREFRESH_FAILED = 3;
354 const int32_t ODSIGN_REPORTED__STATUS__STATUS_KEYSTORE_FAILED = 4;
355 const int32_t ODSIGN_REPORTED__STATUS__STATUS_CERT_FAILED = 5;
356 const int32_t ODSIGN_REPORTED__STATUS__STATUS_CLEANUP_FAILED = 6;
357 const int32_t ODSIGN_REPORTED__STATUS__STATUS_SIGNING_FAILED = 7;
358 
359 // Values for ArtDeviceDatumReported.boot_image_status
360 const int32_t ART_DEVICE_DATUM_REPORTED__BOOT_IMAGE_STATUS__STATUS_UNSPECIFIED = 0;
361 const int32_t ART_DEVICE_DATUM_REPORTED__BOOT_IMAGE_STATUS__STATUS_FULL = 1;
362 const int32_t ART_DEVICE_DATUM_REPORTED__BOOT_IMAGE_STATUS__STATUS_MINIMAL = 2;
363 const int32_t ART_DEVICE_DATUM_REPORTED__BOOT_IMAGE_STATUS__STATUS_NONE = 3;
364 
365 // Values for ArtDatumDeltaReported.compile_filter
366 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_UNSPECIFIED = 0;
367 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_ERROR = 1;
368 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_UNKNOWN = 2;
369 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_ASSUMED_VERIFIED = 3;
370 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_EXTRACT = 4;
371 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_VERIFY = 5;
372 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_QUICKEN = 6;
373 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPACE_PROFILE = 7;
374 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPACE = 8;
375 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPEED_PROFILE = 9;
376 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_SPEED = 10;
377 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_EVERYTHING_PROFILE = 11;
378 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_EVERYTHING = 12;
379 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK = 13;
380 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK_FALLBACK = 14;
381 const int32_t ART_DATUM_DELTA_REPORTED__COMPILE_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_VDEX_FALLBACK = 15;
382 
383 // Values for ArtDatumDeltaReported.compilation_reason
384 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_UNSPECIFIED = 0;
385 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_ERROR = 1;
386 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_UNKNOWN = 2;
387 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_FIRST_BOOT = 3;
388 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT = 4;
389 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL = 5;
390 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BG_DEXOPT = 6;
391 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_AB_OTA = 7;
392 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INACTIVE = 8;
393 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_SHARED = 9;
394 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_WITH_DEX_METADATA = 10;
395 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_POST_BOOT = 11;
396 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_FAST = 12;
397 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK = 13;
398 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY = 14;
399 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_DOWNGRADED = 15;
400 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY_DOWNGRADED = 16;
401 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_OTA = 17;
402 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_PREBUILT = 18;
403 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_CMDLINE = 19;
404 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_VDEX = 20;
405 const int32_t ART_DATUM_DELTA_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_MAINLINE_UPDATE = 21;
406 
407 // Values for ArtDatumDeltaReported.thread_type
408 const int32_t ART_DATUM_DELTA_REPORTED__THREAD_TYPE__ART_THREAD_UNKNOWN = 0;
409 const int32_t ART_DATUM_DELTA_REPORTED__THREAD_TYPE__ART_THREAD_MAIN = 1;
410 const int32_t ART_DATUM_DELTA_REPORTED__THREAD_TYPE__ART_THREAD_BACKGROUND = 2;
411 
412 // Values for ArtDatumDeltaReported.kind
413 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_INVALID = 0;
414 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_YOUNG_GENERATION_COLLECTION_COUNT = 3;
415 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_FULL_HEAP_COLLECTION_COUNT = 5;
416 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_JIT_METHOD_COMPILE_TIME_MICROS = 6;
417 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_CLASS_VERIFICATION_TIME_MICROS = 8;
418 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_CLASS_LOADING_TIME_MICROS = 9;
419 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_CLASS_VERIFICATION_COUNT = 16;
420 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_TOTAL_BYTES_ALLOCATED = 17;
421 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_JIT_METHOD_COMPILE_COUNT = 21;
422 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_TOTAL_COLLECTION_TIME_MS = 28;
423 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_WORLD_STOP_TIME_US = 29;
424 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_WORLD_STOP_COUNT = 30;
425 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_YOUNG_GENERATION_COLLECTION_SCANNED_BYTES = 31;
426 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_YOUNG_GENERATION_COLLECTION_FREED_BYTES = 32;
427 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_YOUNG_GENERATION_COLLECTION_DURATION_MS = 33;
428 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_FULL_HEAP_COLLECTION_SCANNED_BYTES = 34;
429 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_FULL_HEAP_COLLECTION_FREED_BYTES = 35;
430 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_GC_FULL_HEAP_COLLECTION_DURATION_MS = 36;
431 const int32_t ART_DATUM_DELTA_REPORTED__KIND__ART_DATUM_DELTA_TIME_ELAPSED_MS = 37;
432 
433 // Values for ArtDatumDeltaReported.dex_metadata_type
434 const int32_t ART_DATUM_DELTA_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_UNKNOWN = 0;
435 const int32_t ART_DATUM_DELTA_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_PROFILE = 1;
436 const int32_t ART_DATUM_DELTA_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_VDEX = 2;
437 const int32_t ART_DATUM_DELTA_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_PROFILE_AND_VDEX = 3;
438 const int32_t ART_DATUM_DELTA_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_NONE = 4;
439 const int32_t ART_DATUM_DELTA_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_ERROR = 5;
440 
441 // Values for ArtDatumDeltaReported.apk_type
442 const int32_t ART_DATUM_DELTA_REPORTED__APK_TYPE__ART_APK_TYPE_UNKNOWN = 0;
443 const int32_t ART_DATUM_DELTA_REPORTED__APK_TYPE__ART_APK_TYPE_BASE = 1;
444 const int32_t ART_DATUM_DELTA_REPORTED__APK_TYPE__ART_APK_TYPE_SPLIT = 2;
445 const int32_t ART_DATUM_DELTA_REPORTED__APK_TYPE__ART_APK_TYPE_SECONDARY = 3;
446 
447 // Values for ArtDatumDeltaReported.isa
448 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_UNKNOWN = 0;
449 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_ARM = 1;
450 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_ARM64 = 2;
451 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_X86 = 3;
452 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_X86_64 = 4;
453 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_MIPS = 5;
454 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_MIPS64 = 6;
455 const int32_t ART_DATUM_DELTA_REPORTED__ISA__ART_ISA_RISCV64 = 7;
456 
457 // Values for ArtDatumDeltaReported.gc
458 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_UNKNOWN = 0;
459 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_MARK_SWEEP = 1;
460 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_SWEEP = 2;
461 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT = 3;
462 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_SEMI_SPACE = 4;
463 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING = 5;
464 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING_BACKGROUND = 6;
465 const int32_t ART_DATUM_DELTA_REPORTED__GC__ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT_BACKGROUND = 7;
466 
467 // Values for ArtDatumDeltaReported.uffd_support
468 const int32_t ART_DATUM_DELTA_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_UNKNOWN = 0;
469 const int32_t ART_DATUM_DELTA_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_UFFD_NOT_SUPPORTED = 1;
470 const int32_t ART_DATUM_DELTA_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_MINOR_FAULT_MODE_NOT_SUPPORTED = 2;
471 const int32_t ART_DATUM_DELTA_REPORTED__UFFD_SUPPORT__ART_UFFD_SUPPORT_MINOR_FAULT_MODE_SUPPORTED = 3;
472 
473 // Values for PreRebootDexoptJobEnded.status
474 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_UNKNOWN = 0;
475 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_SCHEDULED = 1;
476 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_FINISHED = 2;
477 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_FAILED = 3;
478 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_CANCELLED = 4;
479 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_STARTED = 5;
480 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_ABORTED_SYSTEM_REQUIREMENTS = 6;
481 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_NOT_SCHEDULED_DISABLED = 7;
482 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__STATUS__STATUS_NOT_SCHEDULED_JOB_SCHEDULER = 8;
483 
484 // Values for PreRebootDexoptJobEnded.job_type
485 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__JOB_TYPE__JOB_TYPE_UNKNOWN = 0;
486 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__JOB_TYPE__JOB_TYPE_OTA = 1;
487 const int32_t PRE_REBOOT_DEXOPT_JOB_ENDED__JOB_TYPE__JOB_TYPE_MAINLINE = 2;
488 
489 // Values for ArtDex2OatReported.compiler_filter
490 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_UNSPECIFIED = 0;
491 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_ERROR = 1;
492 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_UNKNOWN = 2;
493 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_ASSUMED_VERIFIED = 3;
494 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_EXTRACT = 4;
495 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_VERIFY = 5;
496 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_QUICKEN = 6;
497 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_SPACE_PROFILE = 7;
498 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_SPACE = 8;
499 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_SPEED_PROFILE = 9;
500 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_SPEED = 10;
501 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_EVERYTHING_PROFILE = 11;
502 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_EVERYTHING = 12;
503 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK = 13;
504 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK_FALLBACK = 14;
505 const int32_t ART_DEX2_OAT_REPORTED__COMPILER_FILTER__ART_COMPILATION_FILTER_FAKE_RUN_FROM_VDEX_FALLBACK = 15;
506 
507 // Values for ArtDex2OatReported.compilation_reason
508 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_UNSPECIFIED = 0;
509 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_ERROR = 1;
510 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_UNKNOWN = 2;
511 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_FIRST_BOOT = 3;
512 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT = 4;
513 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL = 5;
514 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BG_DEXOPT = 6;
515 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_AB_OTA = 7;
516 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INACTIVE = 8;
517 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_SHARED = 9;
518 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_WITH_DEX_METADATA = 10;
519 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_POST_BOOT = 11;
520 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_FAST = 12;
521 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK = 13;
522 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY = 14;
523 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_DOWNGRADED = 15;
524 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY_DOWNGRADED = 16;
525 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_OTA = 17;
526 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_PREBUILT = 18;
527 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_CMDLINE = 19;
528 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_VDEX = 20;
529 const int32_t ART_DEX2_OAT_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_MAINLINE_UPDATE = 21;
530 
531 // Values for ArtDex2OatReported.dex_metadata_type
532 const int32_t ART_DEX2_OAT_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_UNKNOWN = 0;
533 const int32_t ART_DEX2_OAT_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_PROFILE = 1;
534 const int32_t ART_DEX2_OAT_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_VDEX = 2;
535 const int32_t ART_DEX2_OAT_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_PROFILE_AND_VDEX = 3;
536 const int32_t ART_DEX2_OAT_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_NONE = 4;
537 const int32_t ART_DEX2_OAT_REPORTED__DEX_METADATA_TYPE__ART_DEX_METADATA_TYPE_ERROR = 5;
538 
539 // Values for ArtDex2OatReported.apk_type
540 const int32_t ART_DEX2_OAT_REPORTED__APK_TYPE__ART_APK_TYPE_UNKNOWN = 0;
541 const int32_t ART_DEX2_OAT_REPORTED__APK_TYPE__ART_APK_TYPE_BASE = 1;
542 const int32_t ART_DEX2_OAT_REPORTED__APK_TYPE__ART_APK_TYPE_SPLIT = 2;
543 const int32_t ART_DEX2_OAT_REPORTED__APK_TYPE__ART_APK_TYPE_SECONDARY = 3;
544 
545 // Values for ArtDex2OatReported.isa
546 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_UNKNOWN = 0;
547 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_ARM = 1;
548 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_ARM64 = 2;
549 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_X86 = 3;
550 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_X86_64 = 4;
551 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_MIPS = 5;
552 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_MIPS64 = 6;
553 const int32_t ART_DEX2_OAT_REPORTED__ISA__ART_ISA_RISCV64 = 7;
554 
555 // Values for ArtDex2OatReported.result_status
556 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_UNKNOWN = 0;
557 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_EXITED = 1;
558 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_SIGNALED = 2;
559 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_TIMED_OUT = 3;
560 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_START_FAILED = 4;
561 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_NOT_RUN = 5;
562 const int32_t ART_DEX2_OAT_REPORTED__RESULT_STATUS__EXEC_RESULT_STATUS_CANCELLED = 6;
563 
564 // Values for ArtDeviceStatus.boot_image_status
565 const int32_t ART_DEVICE_STATUS__BOOT_IMAGE_STATUS__STATUS_UNSPECIFIED = 0;
566 const int32_t ART_DEVICE_STATUS__BOOT_IMAGE_STATUS__STATUS_FULL = 1;
567 const int32_t ART_DEVICE_STATUS__BOOT_IMAGE_STATUS__STATUS_MINIMAL = 2;
568 const int32_t ART_DEVICE_STATUS__BOOT_IMAGE_STATUS__STATUS_NONE = 3;
569 
570 struct BytesField {
BytesFieldBytesField571   BytesField(char const* array, size_t len) : arg(array), arg_length(len) {}
572   char const* arg;
573   size_t arg_length;
574 };
575 
576 //
577 // Write methods
578 //
579 int stats_write(int32_t code, bool arg1, bool arg2, bool arg3);
580 int stats_write(int32_t code, int32_t arg1);
581 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, int32_t arg8, int32_t arg9, int32_t arg10, int32_t arg11);
582 int stats_write(int32_t code, int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int32_t arg5, int64_t arg6, int64_t arg7, int32_t arg8, int32_t arg9, int32_t arg10, int32_t arg11, int32_t arg12);
583 int stats_write(int32_t code, int32_t arg1, int32_t arg2, int64_t arg3, int64_t arg4, int32_t arg5, int32_t arg6, int32_t arg7, int32_t arg8);
584 int stats_write(int32_t code, int64_t arg1, int32_t arg2, int32_t arg3);
585 int stats_write(int32_t code, int64_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int32_t arg5, int32_t arg6, int32_t arg7, int32_t arg8, int32_t arg9, int32_t arg10, int32_t arg11, int32_t arg12, int32_t arg13, int32_t arg14, int32_t arg15, int32_t arg16, int32_t arg17, int32_t arg18, int32_t arg19, int32_t arg20, int32_t arg21, int32_t arg22, int32_t arg23);
586 int stats_write(int32_t code, int64_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int64_t arg5, int32_t arg6, int32_t arg7, int64_t arg8, int32_t arg9, int32_t arg10, int32_t arg11, int32_t arg12, int32_t arg13);
587 
588 //
589 // Write flattened methods
590 //
591 
592 //
593 // Add AStatsEvent methods
594 //
595 void addAStatsEvent(AStatsEventList* pulled_data, int32_t code, int32_t arg1);
596 
597 } // namespace statsd
598 } // namespace metrics
599 } // namespace art
600