• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package android.os.statsd.art;
20
21option java_package = "com.android.os.art";
22option java_multiple_files = true;
23
24// Indicates the type of the APK.
25enum ArtApkType {
26  ART_APK_TYPE_UNKNOWN = 0;
27  // Primary DEX file in a base APK.
28  ART_APK_TYPE_BASE = 1;
29  // Primary DEX file in a split APK.
30  ART_APK_TYPE_SPLIT = 2;
31  // Secondary DEX file.
32  ART_APK_TYPE_SECONDARY = 3;
33}
34
35// Indicates which compile filter was used for the package being loaded in an ART session.
36enum ArtCompileFilter {
37  ART_COMPILATION_FILTER_UNSPECIFIED = 0;
38  ART_COMPILATION_FILTER_ERROR = 1;
39  ART_COMPILATION_FILTER_UNKNOWN = 2;
40  ART_COMPILATION_FILTER_ASSUMED_VERIFIED = 3;
41  ART_COMPILATION_FILTER_EXTRACT = 4;
42  ART_COMPILATION_FILTER_VERIFY = 5;
43  ART_COMPILATION_FILTER_QUICKEN = 6;
44  ART_COMPILATION_FILTER_SPACE_PROFILE = 7;
45  ART_COMPILATION_FILTER_SPACE = 8;
46  ART_COMPILATION_FILTER_SPEED_PROFILE = 9;
47  ART_COMPILATION_FILTER_SPEED = 10;
48  ART_COMPILATION_FILTER_EVERYTHING_PROFILE = 11;
49  ART_COMPILATION_FILTER_EVERYTHING = 12;
50  ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK = 13;
51  ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK_FALLBACK = 14;
52  ART_COMPILATION_FILTER_FAKE_RUN_FROM_VDEX_FALLBACK = 15;
53  ART_COMPILATION_FILTER_SKIP = 16;
54}
55
56
57// Indicates what triggered the compilation of the package.
58enum ArtCompilationReason {
59  ART_COMPILATION_REASON_UNSPECIFIED = 0;
60  ART_COMPILATION_REASON_ERROR = 1;
61  ART_COMPILATION_REASON_UNKNOWN = 2;
62  ART_COMPILATION_REASON_FIRST_BOOT = 3;
63  ART_COMPILATION_REASON_BOOT = 4;
64  ART_COMPILATION_REASON_INSTALL = 5;
65  ART_COMPILATION_REASON_BG_DEXOPT = 6;
66  ART_COMPILATION_REASON_AB_OTA = 7;
67  ART_COMPILATION_REASON_INACTIVE = 8;
68  ART_COMPILATION_REASON_SHARED = 9;
69  ART_COMPILATION_REASON_INSTALL_WITH_DEX_METADATA = 10;
70  ART_COMPILATION_REASON_POST_BOOT = 11;
71  ART_COMPILATION_REASON_INSTALL_FAST = 12;
72  ART_COMPILATION_REASON_INSTALL_BULK = 13;
73  ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY = 14;
74  ART_COMPILATION_REASON_INSTALL_BULK_DOWNGRADED = 15;
75  ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY_DOWNGRADED = 16;
76  ART_COMPILATION_REASON_BOOT_AFTER_OTA = 17;
77  ART_COMPILATION_REASON_PREBUILT = 18;
78  ART_COMPILATION_REASON_CMDLINE = 19;
79  ART_COMPILATION_REASON_VDEX = 20;
80  ART_COMPILATION_REASON_BOOT_AFTER_MAINLINE_UPDATE = 21;
81}
82
83// Indicates the type of DEX metadata.
84enum ArtDexMetadataType {
85  ART_DEX_METADATA_TYPE_UNKNOWN = 0;
86  ART_DEX_METADATA_TYPE_PROFILE = 1;
87  ART_DEX_METADATA_TYPE_VDEX = 2;
88  ART_DEX_METADATA_TYPE_PROFILE_AND_VDEX = 3;
89  ART_DEX_METADATA_TYPE_NONE = 4;
90  ART_DEX_METADATA_TYPE_ERROR = 5;
91}
92
93// Indicates the GC collector type.
94enum ArtGcCollectorType {
95  ART_GC_COLLECTOR_TYPE_UNKNOWN = 0;
96  ART_GC_COLLECTOR_TYPE_MARK_SWEEP = 1;
97  ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_SWEEP = 2;
98  ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT = 3;
99  ART_GC_COLLECTOR_TYPE_SEMI_SPACE = 4;
100  ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING = 5;
101  ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING_BACKGROUND = 6;
102  ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT_BACKGROUND = 7;
103}
104
105// Indicates the ISA (Instruction Set Architecture).
106enum ArtIsa {
107  ART_ISA_UNKNOWN = 0;
108  ART_ISA_ARM = 1;
109  ART_ISA_ARM64 = 2;
110  ART_ISA_X86 = 3;
111  ART_ISA_X86_64 = 4;
112  ART_ISA_MIPS = 5;
113  ART_ISA_MIPS64 = 6;
114  ART_ISA_RISCV64 = 7;
115}
116
117// DEPRECATED - Used to indicate what class of thread the reported values apply to.
118// Deprecated in Jan 2024 as the corresponding filter is no longer needed.
119enum ArtThreadType {
120  ART_THREAD_UNKNOWN = 0;
121  ART_THREAD_MAIN = 1;
122  ART_THREAD_BACKGROUND = 2;
123}
124
125// Indicates support for userfaultfd and minor fault mode.
126enum ArtUffdSupport {
127  ART_UFFD_SUPPORT_UNKNOWN = 0;
128  ART_UFFD_SUPPORT_UFFD_NOT_SUPPORTED = 1;
129  ART_UFFD_SUPPORT_MINOR_FAULT_MODE_NOT_SUPPORTED = 2;
130  ART_UFFD_SUPPORT_MINOR_FAULT_MODE_SUPPORTED = 3;
131}
132
133// Keep in sync with the ExecResult enum defined in art/runtime/exec_utils.h
134enum ExecResultStatus {
135  // Unable to get the status.
136  EXEC_RESULT_STATUS_UNKNOWN = 0;
137  // Process exited normally with an exit code.
138  EXEC_RESULT_STATUS_EXITED = 1;
139  // Process terminated by a signal.
140  EXEC_RESULT_STATUS_SIGNALED = 2;
141  // Process timed out and killed.
142  EXEC_RESULT_STATUS_TIMED_OUT = 3;
143  // Failed to start the process.
144  EXEC_RESULT_STATUS_START_FAILED = 4;
145  // Process was not run.
146  EXEC_RESULT_STATUS_NOT_RUN = 5;
147  // Process was cancelled.
148  EXEC_RESULT_STATUS_CANCELLED = 6;
149}
150