1 /* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef COMMON_H 16 #define COMMON_H 17 #include <unordered_map> 18 #include <string> 19 namespace OHOS { 20 namespace SmartPerf { 21 enum class MessageType { 22 GET_CPU_NUM, 23 GET_CPU_FREQ, 24 GET_CPU_LOAD, 25 SET_PKG_NAME, 26 SET_PROCESS_ID, 27 GET_FPS_AND_JITTERS, 28 GET_GPU_FREQ, 29 GET_GPU_LOAD, 30 GET_DDR_FREQ, 31 GET_RAM_INFO, 32 GET_TEMPERATURE, 33 GET_POWER, 34 GET_CAPTURE, 35 CATCH_TRACE_START, 36 CATCH_TRACE_FINISH, 37 SET_DUBAI_DB 38 }; 39 40 const std::unordered_map<MessageType, std::string> messageMap = { 41 { MessageType::GET_CPU_NUM, std::string("get_cpu_num") }, 42 { MessageType::GET_CPU_FREQ, std::string("get_cpu_freq") }, 43 { MessageType::GET_CPU_LOAD, std::string("get_cpu_load") }, 44 { MessageType::SET_PKG_NAME, std::string("set_pkgName") }, 45 { MessageType::SET_PROCESS_ID, std::string("set_pid") }, 46 { MessageType::GET_FPS_AND_JITTERS, std::string("get_fps_and_jitters") }, 47 { MessageType::GET_GPU_FREQ, std::string("get_gpu_freq") }, 48 { MessageType::GET_GPU_LOAD, std::string("get_gpu_load") }, 49 { MessageType::GET_DDR_FREQ, std::string("get_ddr_freq") }, 50 { MessageType::GET_RAM_INFO, std::string("get_ram_info") }, 51 { MessageType::GET_TEMPERATURE, std::string("get_temperature") }, 52 { MessageType::GET_POWER, std::string("get_power") }, 53 { MessageType::GET_CAPTURE, std::string("get_capture") }, 54 { MessageType::CATCH_TRACE_START, std::string("catch_trace_start") }, 55 { MessageType::CATCH_TRACE_FINISH, std::string("catch_trace_end") }, 56 { MessageType::SET_DUBAI_DB, std::string("set_dubai_db") }, 57 }; 58 59 enum class CommandType { 60 CT_N, 61 CT_PKG, 62 CT_PID, 63 CT_OUT, 64 CT_C, 65 CT_G, 66 CT_D, 67 CT_F, 68 CT_F1, 69 CT_F2, 70 CT_T, 71 CT_P, 72 CT_R, 73 CT_TTRACE, 74 CT_SNAPSHOT, 75 CT_HW 76 }; 77 enum class CommandHelp { 78 HELP, 79 VERSION 80 }; 81 82 const std::unordered_map<std::string, CommandType> commandMap = { 83 { std::string("-N"), CommandType::CT_N }, { std::string("-PKG"), CommandType::CT_PKG }, 84 { std::string("-PID"), CommandType::CT_PID }, { std::string("-OUT"), CommandType::CT_OUT }, 85 { std::string("-c"), CommandType::CT_C }, { std::string("-g"), CommandType::CT_G }, 86 { std::string("-f"), CommandType::CT_F }, { std::string("-f1"), CommandType::CT_F1 }, 87 { std::string("-f2"), CommandType::CT_F1 }, { std::string("-t"), CommandType::CT_T }, 88 { std::string("-p"), CommandType::CT_P }, { std::string("-r"), CommandType::CT_R }, 89 { std::string("-trace"), CommandType::CT_TTRACE }, { std::string("-snapshot"), CommandType::CT_SNAPSHOT }, 90 { std::string("-hw"), CommandType::CT_HW }, { std::string("-d"), CommandType::CT_D }, 91 }; 92 93 const std::unordered_map<CommandHelp, std::string> commandHelpMap = { 94 { CommandHelp::HELP, std::string("--help") }, 95 { CommandHelp::VERSION, std::string("--version") }, 96 }; 97 98 enum class TraceStatus { 99 TRACE_START, 100 TRACE_FINISH, 101 TRACE_NO 102 }; 103 } 104 } 105 #endif