/* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; package android.os.statsd.art; option java_package = "com.android.os.art"; option java_multiple_files = true; // Indicates the type of the APK. enum ArtApkType { ART_APK_TYPE_UNKNOWN = 0; // Primary DEX file in a base APK. ART_APK_TYPE_BASE = 1; // Primary DEX file in a split APK. ART_APK_TYPE_SPLIT = 2; // Secondary DEX file. ART_APK_TYPE_SECONDARY = 3; } // Indicates which compile filter was used for the package being loaded in an ART session. enum ArtCompileFilter { ART_COMPILATION_FILTER_UNSPECIFIED = 0; ART_COMPILATION_FILTER_ERROR = 1; ART_COMPILATION_FILTER_UNKNOWN = 2; ART_COMPILATION_FILTER_ASSUMED_VERIFIED = 3; ART_COMPILATION_FILTER_EXTRACT = 4; ART_COMPILATION_FILTER_VERIFY = 5; ART_COMPILATION_FILTER_QUICKEN = 6; ART_COMPILATION_FILTER_SPACE_PROFILE = 7; ART_COMPILATION_FILTER_SPACE = 8; ART_COMPILATION_FILTER_SPEED_PROFILE = 9; ART_COMPILATION_FILTER_SPEED = 10; ART_COMPILATION_FILTER_EVERYTHING_PROFILE = 11; ART_COMPILATION_FILTER_EVERYTHING = 12; ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK = 13; ART_COMPILATION_FILTER_FAKE_RUN_FROM_APK_FALLBACK = 14; ART_COMPILATION_FILTER_FAKE_RUN_FROM_VDEX_FALLBACK = 15; } // Indicates what triggered the compilation of the package. enum ArtCompilationReason { ART_COMPILATION_REASON_UNSPECIFIED = 0; ART_COMPILATION_REASON_ERROR = 1; ART_COMPILATION_REASON_UNKNOWN = 2; ART_COMPILATION_REASON_FIRST_BOOT = 3; ART_COMPILATION_REASON_BOOT = 4; ART_COMPILATION_REASON_INSTALL = 5; ART_COMPILATION_REASON_BG_DEXOPT = 6; ART_COMPILATION_REASON_AB_OTA = 7; ART_COMPILATION_REASON_INACTIVE = 8; ART_COMPILATION_REASON_SHARED = 9; ART_COMPILATION_REASON_INSTALL_WITH_DEX_METADATA = 10; ART_COMPILATION_REASON_POST_BOOT = 11; ART_COMPILATION_REASON_INSTALL_FAST = 12; ART_COMPILATION_REASON_INSTALL_BULK = 13; ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY = 14; ART_COMPILATION_REASON_INSTALL_BULK_DOWNGRADED = 15; ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY_DOWNGRADED = 16; ART_COMPILATION_REASON_BOOT_AFTER_OTA = 17; ART_COMPILATION_REASON_PREBUILT = 18; ART_COMPILATION_REASON_CMDLINE = 19; ART_COMPILATION_REASON_VDEX = 20; ART_COMPILATION_REASON_BOOT_AFTER_MAINLINE_UPDATE = 21; } // Indicates the type of DEX metadata. enum ArtDexMetadataType { ART_DEX_METADATA_TYPE_UNKNOWN = 0; ART_DEX_METADATA_TYPE_PROFILE = 1; ART_DEX_METADATA_TYPE_VDEX = 2; ART_DEX_METADATA_TYPE_PROFILE_AND_VDEX = 3; ART_DEX_METADATA_TYPE_NONE = 4; ART_DEX_METADATA_TYPE_ERROR = 5; } // Indicates the GC collector type. enum ArtGcCollectorType { ART_GC_COLLECTOR_TYPE_UNKNOWN = 0; ART_GC_COLLECTOR_TYPE_MARK_SWEEP = 1; ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_SWEEP = 2; ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT = 3; ART_GC_COLLECTOR_TYPE_SEMI_SPACE = 4; ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING = 5; ART_GC_COLLECTOR_TYPE_CONCURRENT_COPYING_BACKGROUND = 6; ART_GC_COLLECTOR_TYPE_CONCURRENT_MARK_COMPACT_BACKGROUND = 7; } // Indicates the ISA (Instruction Set Architecture). enum ArtIsa { ART_ISA_UNKNOWN = 0; ART_ISA_ARM = 1; ART_ISA_ARM64 = 2; ART_ISA_X86 = 3; ART_ISA_X86_64 = 4; ART_ISA_MIPS = 5; ART_ISA_MIPS64 = 6; ART_ISA_RISCV64 = 7; } // DEPRECATED - Used to indicate what class of thread the reported values apply to. // Deprecated in Jan 2024 as the corresponding filter is no longer needed. enum ArtThreadType { ART_THREAD_UNKNOWN = 0; ART_THREAD_MAIN = 1; ART_THREAD_BACKGROUND = 2; } // Indicates support for userfaultfd and minor fault mode. enum ArtUffdSupport { ART_UFFD_SUPPORT_UNKNOWN = 0; ART_UFFD_SUPPORT_UFFD_NOT_SUPPORTED = 1; ART_UFFD_SUPPORT_MINOR_FAULT_MODE_NOT_SUPPORTED = 2; ART_UFFD_SUPPORT_MINOR_FAULT_MODE_SUPPORTED = 3; } // Keep in sync with the ExecResult enum defined in art/runtime/exec_utils.h enum ExecResultStatus { // Unable to get the status. EXEC_RESULT_STATUS_UNKNOWN = 0; // Process exited normally with an exit code. EXEC_RESULT_STATUS_EXITED = 1; // Process terminated by a signal. EXEC_RESULT_STATUS_SIGNALED = 2; // Process timed out and killed. EXEC_RESULT_STATUS_TIMED_OUT = 3; // Failed to start the process. EXEC_RESULT_STATUS_START_FAILED = 4; // Process was not run. EXEC_RESULT_STATUS_NOT_RUN = 5; // Process was cancelled. EXEC_RESULT_STATUS_CANCELLED = 6; }