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
16 #include "trace_streamer_config.h"
17 #include "memory_plugin_common.pbreader.h"
18 #include "memory_plugin_result.pbreader.h"
19 #include "log.h"
20 namespace SysTuning {
21 namespace TraceCfg {
22 using namespace ProtoReader;
TraceStreamerConfig()23 TraceStreamerConfig::TraceStreamerConfig()
24 {
25 InitEventNameMap();
26 eventErrorDescMap_ = {
27 {STAT_EVENT_RECEIVED, TRACE_STAT_TYPE_RECEIVED_DESC},
28 {STAT_EVENT_DATA_LOST, TRACE_STAT_TYPE_LOST_DESC},
29 {STAT_EVENT_NOTMATCH, TRACE_STAT_TYPE_NOTMATCH_DESC},
30 {STAT_EVENT_NOTSUPPORTED, TRACE_STAT_TYPE_NOTSUPPORTED_DESC},
31 {STAT_EVENT_DATA_INVALID, TRACE_STAT_TYPE_DATA_INVALID_DESC},
32 };
33 serverityLevelDescMap_ = {
34 {STAT_SEVERITY_LEVEL_INFO, STAT_SEVERITY_LEVEL_INFO_DESC},
35 {STAT_SEVERITY_LEVEL_WARN, STAT_SEVERITY_LEVEL_WARN_DESC},
36 {STAT_SEVERITY_LEVEL_ERROR, STAT_SEVERITY_LEVEL_ERROR_DESC},
37 {STAT_SEVERITY_LEVEL_FATAL, STAT_SEVERITY_LEVEL_FATAL_DESC},
38 };
39 memNameMap_ = {
40 {MEM_VM_SIZE, MEM_INFO_VM_SIZE_DESC}, {MEM_VM_LOCKED, MEM_INFO_LOCKED_DESC},
41 {MEM_VM_RSS, MEM_INFO_RSS_DESC}, {MEM_VM_ANON, MEM_INFO_RSS_ANON_DESC},
42 {MEM_RSS_FILE, MEM_INFO_RSS_FILE_DESC}, {MEM_RSS_SHMEM, MEM_INFO_RSS_SCHEM_DESC},
43 {MEM_VM_SWAP, MEM_INFO_SWAP_DESC}, {MEM_VM_LOCKED, MEM_INFO_VIRT_DESC},
44 {MEM_VM_HWM, MEM_INFO_HWM_DESC}, {MEM_OOM_SCORE_ADJ, MEM_INFO_SCORE_ADJ_DESC},
45 {MEM_PURG_SUM, MEM_INFO_PURG_SUM_DESC}, {MEM_PURG_PIN, MEM_INFO_PURG_PIN_DESC},
46 {MEM_GL_PSS, MEM_INFO_GL_PSS_DESC}, {MEM_GRAPH_PSS, MEM_INFO_GRAPH_PSS_DESC},
47 };
48
49 InitSysMemMap();
50 InitSysVmemMap();
51 InitSecurityMap();
52 if (eventNameMap_.size() != TRACE_EVENT_MAX) {
53 TS_LOGF("eventNameMap_.size() max be %d, logic error", TRACE_EVENT_MAX);
54 }
55 if (eventErrorDescMap_.size() != STAT_EVENT_MAX) {
56 TS_LOGF("eventErrorDescMap_.size() max be %d, logic error", STAT_EVENT_MAX);
57 }
58 if (serverityLevelDescMap_.size() != STAT_SEVERITY_LEVEL_MAX) {
59 TS_LOGF("serverityLevelDescMap_.size() max be %d, logic error", STAT_SEVERITY_LEVEL_MAX);
60 }
61 if (eventParserStatSeverityDescMap_.size() != TRACE_EVENT_MAX) {
62 TS_LOGF("eventParserStatSeverityDescMap_.size() max be %d, logic error", TRACE_EVENT_MAX);
63 }
64 if (memNameMap_.size() != MEM_MAX) {
65 TS_LOGF("memNameMap_.size() max be %d, logic error", MEM_MAX);
66 }
67 for (int32_t i = TRACE_EVENT_START; i < TRACE_EVENT_MAX; i++) {
68 if (eventParserStatSeverityDescMap_.at(static_cast<SupportedTraceEventType>(i)).size() != STAT_EVENT_MAX) {
69 TS_LOGF("every item in eventParserStatSeverityDescMap_ max be %d, logic error", STAT_EVENT_MAX);
70 }
71 }
72 }
73
PrintInfo() const74 void TraceStreamerConfig::PrintInfo() const
75 {
76 printf("---all kind of trace event info---\n");
77 for (auto itor = eventNameMap_.begin(); itor != eventNameMap_.end(); itor++) {
78 printf("%s\n", itor->second.c_str());
79 }
80 printf("\n");
81 printf("---subdir of process mem info---\n");
82 for (auto itor = memNameMap_.begin(); itor != memNameMap_.end(); itor++) {
83 printf("%s\n", itor->second.c_str());
84 }
85 printf("\n");
86 printf("---subdir of sys mem info---\n");
87 for (auto itor = sysMemNameMap_.begin(); itor != sysMemNameMap_.end(); itor++) {
88 printf("%s\n", itor->second.c_str());
89 }
90 printf("\n");
91 printf("---subdir of sys vmem info---\n");
92 for (auto itor = sysVirtualMemNameMap_.begin(); itor != sysVirtualMemNameMap_.end(); itor++) {
93 printf("%s\n", itor->second.c_str());
94 }
95 printf("\n");
96 }
97
InitBinderEventNameMap()98 inline void TraceStreamerConfig::InitBinderEventNameMap()
99 {
100 eventNameMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION, TRACE_ACTION_BINDER_TRANSACTION);
101 eventNameMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_RECEIVED, TRACE_ACTION_BINDER_TRANSACTION_RECEIVED);
102 eventNameMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_ALLOC_BUF, TRACE_ACTION_BINDER_TRANSACTION_ALLOC_BUF);
103 eventNameMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_LOCK, TRACE_ACTION_BINDER_TRANSACTION_LOCK);
104 eventNameMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_LOCKED, TRACE_ACTION_BINDER_TRANSACTION_LOCKED);
105 eventNameMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_UNLOCK, TRACE_ACTION_BINDER_TRANSACTION_UNLOCK);
106 }
InitSchedEventNameMap()107 inline void TraceStreamerConfig::InitSchedEventNameMap()
108 {
109 eventNameMap_.emplace(TRACE_EVENT_SCHED_SWITCH, TRACE_ACTION_SCHED_SWITCH);
110 eventNameMap_.emplace(TRACE_EVENT_SCHED_BLOCKED_REASON, TRACE_ACTION_SCHED_BLOCKED_REASON);
111 eventNameMap_.emplace(TRACE_EVENT_SCHED_WAKEUP, TRACE_ACTION_SCHED_WAKEUP);
112 eventNameMap_.emplace(TRACE_EVENT_SCHED_WAKING, TRACE_ACTION_SCHED_WAKING);
113 eventNameMap_.emplace(TRACE_EVENT_SCHED_WAKEUP_NEW, TRACE_ACTION_SCHED_WAKEUP_NEW);
114 }
InitClkEventNameMap()115 inline void TraceStreamerConfig::InitClkEventNameMap()
116 {
117 eventNameMap_.emplace(TRACE_EVENT_CLOCK_SET_RATE, TRACE_ACTION_CLOCK_SET_RATE);
118 eventNameMap_.emplace(TRACE_EVENT_CLOCK_ENABLE, TRACE_ACTION_CLOCK_ENABLE);
119 eventNameMap_.emplace(TRACE_EVENT_CLOCK_DISABLE, TRACE_ACTION_CLOCK_DISABLE);
120 eventNameMap_.emplace(TRACE_EVENT_CLK_SET_RATE, TRACE_ACTION_CLK_SET_RATE);
121 eventNameMap_.emplace(TRACE_EVENT_CLK_ENABLE, TRACE_ACTION_CLK_ENABLE);
122 eventNameMap_.emplace(TRACE_EVENT_CLK_DISABLE, TRACE_ACTION_CLK_DISABLE);
123 eventNameMap_.emplace(TRACE_EVENT_CLOCK_SYNC, TRACE_ACTION_CLOCK_SYNC);
124 }
InitCpuEventNameMap()125 inline void TraceStreamerConfig::InitCpuEventNameMap()
126 {
127 eventNameMap_.emplace(TRACE_EVENT_CPU_IDLE, TRACE_ACTION_CPU_IDLE);
128 eventNameMap_.emplace(TRACE_EVENT_CPU_FREQUENCY, TRACE_ACTION_CPU_FREQUENCY);
129 eventNameMap_.emplace(TRACE_EVENT_CPU_FREQUENCY_LIMITS, TRACE_ACTION_CPU_FREQUENCY_LIMITS);
130 eventNameMap_.emplace(TRACE_CPU_USAGE, TRACE_ACTION_CPU_USAGE);
131 }
InitInterruptEventNameMap()132 inline void TraceStreamerConfig::InitInterruptEventNameMap()
133 {
134 eventNameMap_.emplace(TRACE_EVENT_IPI_ENTRY, TRACE_ACTION_IPI_ENTRY);
135 eventNameMap_.emplace(TRACE_EVENT_IPI_EXIT, TRACE_ACTION_IPI_EXIT);
136 eventNameMap_.emplace(TRACE_EVENT_IRQ_HANDLER_ENTRY, TRACE_ACTION_IRQ_HANDLER_ENTRY);
137 eventNameMap_.emplace(TRACE_EVENT_IRQ_HANDLER_EXIT, TRACE_ACTION_IRQ_HANDLER_EXIT);
138 eventNameMap_.emplace(TRACE_EVENT_SOFTIRQ_RAISE, TRACE_ACTION_SOFTIRQ_RAISE);
139 eventNameMap_.emplace(TRACE_EVENT_SOFTIRQ_ENTRY, TRACE_ACTION_SOFTIRQ_ENTRY);
140 eventNameMap_.emplace(TRACE_EVENT_SOFTIRQ_EXIT, TRACE_ACTION_SOFTIRQ_EXIT);
141 }
InitMemoryEventNameMap()142 inline void TraceStreamerConfig::InitMemoryEventNameMap()
143 {
144 eventNameMap_.emplace(TRACE_MEMORY, TRACE_ACTION_MEMORY);
145 eventNameMap_.emplace(TRACE_SYS_MEMORY, TRACE_ACTION_SYS_MEMORY);
146 eventNameMap_.emplace(TRACE_ASHMEM, TRACE_ACTION_ASHMEM);
147 eventNameMap_.emplace(TRACE_DMAMEM, TRACE_ACTION_DMAMEM);
148 eventNameMap_.emplace(TRACE_GPU_PROCESS_MEM, TRACE_ACTION_GPU_PROCESS_MEM);
149 eventNameMap_.emplace(TRACE_GPU_WINDOW_MEM, TRACE_ACTION_GPU_WINDOW_MEM);
150 eventNameMap_.emplace(TRACE_JS_MEMORY, TRACE_ACTION_JS_MEMORY);
151 eventNameMap_.emplace(TRACE_SYS_VIRTUAL_MEMORY, TRACE_ACTION_SYS_VIRTUAL_MEMORY);
152 }
InitBlockEventNameMap()153 inline void TraceStreamerConfig::InitBlockEventNameMap()
154 {
155 eventNameMap_.emplace(TRACE_EVENT_BLOCK_BIO_BACKMERGE, TRACE_ACTION_BLOCK_BIO_BACKMERGE);
156 eventNameMap_.emplace(TRACE_EVENT_BLOCK_BIO_BOUNCE, TRACE_ACTION_BLOCK_BIO_BOUNCE);
157 eventNameMap_.emplace(TRACE_EVENT_BLOCK_BIO_COMPLETE, TRACE_ACTION_BLOCK_BIO_COMPLETE);
158 eventNameMap_.emplace(TRACE_EVENT_BLOCK_BIO_FRONTMERGE, TRACE_ACTION_BLOCK_BIO_FRONTMERGE);
159 eventNameMap_.emplace(TRACE_EVENT_BLOCK_BIO_QUEUE, TRACE_ACTION_BLOCK_BIO_QUEUE);
160 eventNameMap_.emplace(TRACE_EVENT_BLOCK_BIO_REMAP, TRACE_ACTION_BLOCK_BIO_REMAP);
161 eventNameMap_.emplace(TRACE_EVENT_BLOCK_DIRTY_BUFFER, TRACE_ACTION_BLOCK_DIRTY_BUFFER);
162 eventNameMap_.emplace(TRACE_EVENT_BLOCK_GETRQ, TRACE_ACTION_BLOCK_GETRQ);
163 eventNameMap_.emplace(TRACE_EVENT_BLOCK_PLUG, TRACE_ACTION_BLOCK_PLUG);
164 eventNameMap_.emplace(TRACE_EVENT_BLOCK_RQ_COMPLETE, TRACE_ACTION_BLOCK_RQ_COMPLETE);
165 eventNameMap_.emplace(TRACE_EVENT_BLOCK_RQ_INSERT, TRACE_ACTION_BLOCK_RQ_INSERT);
166 eventNameMap_.emplace(TRACE_EVENT_BLOCK_RQ_REMAP, TRACE_ACTION_BLOCK_RQ_REMAP);
167 eventNameMap_.emplace(TRACE_EVENT_BLOCK_RQ_ISSUE, TRACE_ACTION_BLOCK_RQ_ISSUE);
168 }
InitRegulatorEventNameMap()169 inline void TraceStreamerConfig::InitRegulatorEventNameMap()
170 {
171 eventNameMap_.emplace(TRACE_EVENT_REGULATOR_SET_VOLTAGE, TRACE_ACTION_REGULATOR_SET_VOLTAGE);
172 eventNameMap_.emplace(TRACE_EVENT_REGULATOR_SET_VOLTAGE_COMPLETE, TRACE_ACTION_REGULATOR_SET_VOLTAGE_COMPLETE);
173 eventNameMap_.emplace(TRACE_EVENT_REGULATOR_DISABLE, TRACE_ACTION_REGULATOR_DISABLE);
174 eventNameMap_.emplace(TRACE_EVENT_REGULATOR_DISABLE_COMPLETE, TRACE_ACTION_REGULATOR_DISABLE_COMPLETE);
175 }
InitOtherEventNameMap()176 inline void TraceStreamerConfig::InitOtherEventNameMap()
177 {
178 eventNameMap_.emplace(TRACE_EVENT_PRINT, TRACE_ACTION_PRINT);
179 eventNameMap_.emplace(TRACE_EVENT_TRACING_MARK_WRITE, TRACE_ACTION_TRACING_MARK_WRITE);
180 eventNameMap_.emplace(TRACE_EVENT_TASK_RENAME, TRACE_ACTION_TASK_RENAME);
181 eventNameMap_.emplace(TRACE_EVENT_TASK_NEWTASK, TRACE_ACTION_TASK_NEWTASK);
182 eventNameMap_.emplace(TRACE_EVENT_SUSPEND_RESUME, TRACE_ACTION_SUSPEND_RESUME);
183 eventNameMap_.emplace(TRACE_EVENT_WORKQUEUE_EXECUTE_START, TRACE_ACTION_WORKQUEUE_EXECUTE_START);
184 eventNameMap_.emplace(TRACE_EVENT_WORKQUEUE_EXECUTE_END, TRACE_ACTION_WORKQUEUE_EXECUTE_END);
185 eventNameMap_.emplace(TRACE_EVENT_SYS_ENTRY, TRACE_ACTION_SYS_ENTRY);
186 eventNameMap_.emplace(TRACE_EVENT_SYS_EXIT, TRACE_ACTION_SYS_EXIT);
187 eventNameMap_.emplace(TRACE_EVENT_OOM_SCORE_ADJ_UPDATE, TRACE_ACTION_OOM_SCORE_ADJ_UPDATE);
188 eventNameMap_.emplace(TRACE_EVENT_PROCESS_EXIT, TRACE_ACTION_PROCESS_EXIT);
189 eventNameMap_.emplace(TRACE_EVENT_PROCESS_FREE, TRACE_ACTION_PROCESS_FREE);
190 eventNameMap_.emplace(TRACE_EVENT_SIGNAL_GENERATE, TRACE_ACTION_SIGNAL_GENERATE);
191 eventNameMap_.emplace(TRACE_EVENT_SIGNAL_DELIVER, TRACE_ACTION_SIGNAL_DELIVER);
192 eventNameMap_.emplace(TRACE_EVENT_OTHER, TRACE_ACTION_OTHER);
193 eventNameMap_.emplace(TRACE_DISKIO, TRACE_ACTION_DISKIO);
194 eventNameMap_.emplace(TRACE_PROCESS, TRACE_ACTION_PROCESS);
195 eventNameMap_.emplace(TRACE_NETWORK, TRACE_ACTION_NETWORK);
196 eventNameMap_.emplace(TRACE_PERF, TRACE_ACTION_PERF);
197 eventNameMap_.emplace(TRACE_HILOG, TRACE_ACTION_HILOG);
198 eventNameMap_.emplace(TRACE_HIDUMP_FPS, TRACE_ACTION_HIDUMP_FPS);
199 eventNameMap_.emplace(TRACE_HISYSEVENT, TRACE_ACTION_HISYS_EVENT);
200 eventNameMap_.emplace(TRACE_SMAPS, TRACE_ACTION_SMAPS);
201 eventNameMap_.emplace(TRACE_WINDOW_MANAGER_SERVICE, TRACE_ACTION_WINDOW_MANAGER_SERVICE);
202 eventNameMap_.emplace(TRACE_VSYNC, TRACE_ACTION_VSYNC);
203 eventNameMap_.emplace(TRACE_ON_DO_COMPOSITION, TRACE_ACTION_ON_DO_COMPOSITION);
204 eventNameMap_.emplace(TRACE_FRAMEQUEUE, TRACE_ACTION_FRAMEQUEUE);
205 }
InitEbpfEventNameMap()206 inline void TraceStreamerConfig::InitEbpfEventNameMap()
207 {
208 eventNameMap_.emplace(TRACE_EVENT_EBPF, TRACE_ACTION_EBPF);
209 eventNameMap_.emplace(TRACE_EVENT_EBPF_FILE_SYSTEM, TRACE_ACTION_EBPF_FILE_SYSTEM);
210 eventNameMap_.emplace(TRACE_EVENT_EBPF_PAGED_MEMORY, TRACE_ACTION_EBPF_PAGED_MEMORY);
211 eventNameMap_.emplace(TRACE_EVENT_EBPF_BIO_LATENCY, TRACE_ACTION_EBPF_BIO_LATENCY);
212 }
InitHookEventNameMap()213 inline void TraceStreamerConfig::InitHookEventNameMap()
214 {
215 eventNameMap_.emplace(TRACE_NATIVE_HOOK_MALLOC, TRACE_ACTION_NATIVE_HOOK_MALLOC);
216 eventNameMap_.emplace(TRACE_NATIVE_HOOK_FREE, TRACE_ACTION_NATIVE_HOOK_FREE);
217 eventNameMap_.emplace(TRACE_NATIVE_HOOK_MMAP, TRACE_ACTION_NATIVE_HOOK_MMAP);
218 eventNameMap_.emplace(TRACE_NATIVE_HOOK_MUNMAP, TRACE_ACTION_NATIVE_HOOK_MUNMAP);
219 eventNameMap_.emplace(TRACE_NATIVE_HOOK_RECORD_STATISTICS, TRACE_ACTION_NATIVE_HOOK_RECORD_STATISTICS);
220 eventNameMap_.emplace(TRACE_NATIVE_HOOK_MEMTAG, TRACE_ACTION_NATIVE_HOOK_MEMTAG);
221 }
InitEventNameMap()222 void TraceStreamerConfig::InitEventNameMap()
223 {
224 InitBinderEventNameMap();
225 InitSchedEventNameMap();
226 InitClkEventNameMap();
227 InitCpuEventNameMap();
228 InitInterruptEventNameMap();
229 InitMemoryEventNameMap();
230 InitBlockEventNameMap();
231 InitRegulatorEventNameMap();
232 InitOtherEventNameMap();
233 InitEbpfEventNameMap();
234 InitHookEventNameMap();
235 }
InitSysMemMap()236 void TraceStreamerConfig::InitSysMemMap()
237 {
238 sysMemNameMap_ = {{SysMeminfoType::PMEM_UNSPECIFIED, SYS_MEMINFO_UNSPECIFIED_DESC},
239 {SysMeminfoType::PMEM_MEM_TOTAL, SYS_MEMINFO_MEM_TOTAL_DESC},
240 {SysMeminfoType::PMEM_MEM_FREE, SYS_MEMINFO_MEM_FREE_DESC},
241 {SysMeminfoType::PMEM_MEM_AVAILABLE, SYS_MEMINFO_MEM_AVAILABLE_DESC},
242 {SysMeminfoType::PMEM_BUFFERS, SYS_MEMINFO_BUFFERS_DESC},
243 {SysMeminfoType::PMEM_CACHED, SYS_MEMINFO_CACHED_DESC},
244 {SysMeminfoType::PMEM_SWAP_CACHED, SYS_MEMINFO_SWAP_CACHED_DESC},
245 {SysMeminfoType::PMEM_ACTIVE, SYS_MEMINFO_ACTIVE_DESC},
246 {SysMeminfoType::PMEM_INACTIVE, SYS_MEMINFO_INACTIVE_DESC},
247 {SysMeminfoType::PMEM_ACTIVE_ANON, SYS_MEMINFO_ACTIVE_ANON_DESC},
248 {SysMeminfoType::PMEM_INACTIVE_ANON, SYS_MEMINFO_INACTIVE_ANON_DESC},
249 {SysMeminfoType::PMEM_ACTIVE_FILE, SYS_MEMINFO_ACTIVE_FILE_DESC},
250 {SysMeminfoType::PMEM_INACTIVE_FILE, SYS_MEMINFO_INACTIVE_FILE_DESC},
251 {SysMeminfoType::PMEM_UNEVICTABLE, SYS_MEMINFO_UNEVICTABLE_DESC},
252 {SysMeminfoType::PMEM_MLOCKED, SYS_MEMINFO_MLOCKED_DESC},
253 {SysMeminfoType::PMEM_SWAP_TOTAL, SYS_MEMINFO_SWAP_TOTAL_DESC},
254 {SysMeminfoType::PMEM_SWAP_FREE, SYS_MEMINFO_SWAP_FREE_DESC},
255 {SysMeminfoType::PMEM_DIRTY, SYS_MEMINFO_DIRTY_DESC},
256 {SysMeminfoType::PMEM_WRITEBACK, SYS_MEMINFO_WRITEBACK_DESC},
257 {SysMeminfoType::PMEM_ANON_PAGES, SYS_MEMINFO_ANON_PAGES_DESC},
258 {SysMeminfoType::PMEM_MAPPED, SYS_MEMINFO_MAPPED_DESC},
259 {SysMeminfoType::PMEM_SHMEM, SYS_MEMINFO_SHMEM_DESC},
260 {SysMeminfoType::PMEM_SLAB, SYS_MEMINFO_SLAB_DESC},
261 {SysMeminfoType::PMEM_SLAB_RECLAIMABLE, SYS_MEMINFO_SLAB_RECLAIMABLE_DESC},
262 {SysMeminfoType::PMEM_SLAB_UNRECLAIMABLE, SYS_MEMINFO_SLAB_UNRECLAIMABLE_DESC},
263 {SysMeminfoType::PMEM_KERNEL_STACK, SYS_MEMINFO_KERNEL_STACK_DESC},
264 {SysMeminfoType::PMEM_PAGE_TABLES, SYS_MEMINFO_PAGE_TABLES_DESC},
265 {SysMeminfoType::PMEM_COMMIT_LIMIT, SYS_MEMINFO_COMMIT_LIMIT_DESC},
266 {SysMeminfoType::PMEM_COMMITED_AS, SYS_MEMINFO_COMMITED_AS_DESC},
267 {SysMeminfoType::PMEM_VMALLOC_TOTAL, SYS_MEMINFO_VMALLOC_TOTAL_DESC},
268 {SysMeminfoType::PMEM_VMALLOC_USED, SYS_MEMINFO_VMALLOC_USED_DESC},
269 {SysMeminfoType::PMEM_VMALLOC_CHUNK, SYS_MEMINFO_VMALLOC_CHUNK_DESC},
270 {SysMeminfoType::PMEM_CMA_TOTAL, SYS_MEMINFO_CMA_TOTAL_DESC},
271 {SysMeminfoType::PMEM_CMA_FREE, SYS_MEMINFO_CMA_FREE_DESC},
272 {SysMeminfoType::PMEM_KERNEL_RECLAIMABLE, SYS_MEMINFO_KERNEL_RECLAIMABLE_DESC},
273 {SysMeminfoType::PMEM_ACTIVE_PURG, SYS_MEMINFO_ACTIVE_PURG_DESC},
274 {SysMeminfoType::PMEM_INACTIVE_PURG, SYS_MEMINFO_INACTIVE_PURG_DESC},
275 {SysMeminfoType::PMEM_PINED_PURG, SYS_MEMINFO_PINED_PURG_DESC}};
276 }
InitNrZoneEventSysVmemMap()277 inline void TraceStreamerConfig::InitNrZoneEventSysVmemMap()
278 {
279 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZONE_ACTIVE_ANON, SYS_VMEMINFO_NR_ZONE_ACTIVE_ANON_DESC);
280 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZONE_ACTIVE_FILE, SYS_VMEMINFO_NR_ZONE_ACTIVE_FILE_DESC);
281 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZONE_INACTIVE_ANON,
282 SYS_VMEMINFO_NR_ZONE_INACTIVE_ANON_DESC);
283 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZONE_INACTIVE_FILE,
284 SYS_VMEMINFO_NR_ZONE_INACTIVE_FILE_DESC);
285 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZONE_UNEVICTABLE, SYS_VMEMINFO_NR_ZONE_UNEVICTABLE_DESC);
286 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZONE_WRITE_PENDING,
287 SYS_VMEMINFO_NR_ZONE_WRITE_PENDING_DESC);
288 }
InitNrDirtierEventSysVmemMap()289 inline void TraceStreamerConfig::InitNrDirtierEventSysVmemMap()
290 {
291 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_DIRTY, SYS_VMEMINFO_NR_DIRTY_DESC);
292 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_DIRTY_THRESHOLD, SYS_VMEMINFO_NR_DIRTY_THRESHOLD_DESC);
293 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD,
294 SYS_VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD_DESC);
295 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_DIRTIED, SYS_VMEMINFO_NR_DIRTIED_DESC);
296 }
InitNrOtherEventSysVmemMap()297 inline void TraceStreamerConfig::InitNrOtherEventSysVmemMap()
298 {
299 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_FREE_PAGES, SYS_VMEMINFO_NR_FREE_PAGES_DESC);
300 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ALLOC_BATCH, SYS_VMEMINFO_NR_ALLOC_BATCH_DESC);
301 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_INACTIVE_ANON, SYS_VMEMINFO_NR_INACTIVE_ANON_DESC);
302 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ACTIVE_ANON, SYS_VMEMINFO_NR_ACTIVE_ANON_DESC);
303 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_INACTIVE_FILE, SYS_VMEMINFO_NR_INACTIVE_FILE_DESC);
304 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ACTIVE_FILE, SYS_VMEMINFO_NR_ACTIVE_FILE_DESC);
305 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_UNEVICTABLE, SYS_VMEMINFO_NR_UNEVICTABLE_DESC);
306 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_MLOCK, SYS_VMEMINFO_NR_MLOCK_DESC);
307 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ANON_PAGES, SYS_VMEMINFO_NR_ANON_PAGES_DESC);
308 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_MAPPED, SYS_VMEMINFO_NR_MAPPED_DESC);
309 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_FILE_PAGES, SYS_VMEMINFO_NR_FILE_PAGES_DESC);
310 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_WRITEBACK, SYS_VMEMINFO_NR_WRITEBACK_DESC);
311 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SLAB_RECLAIMABLE, SYS_VMEMINFO_NR_SLAB_RECLAIMABLE_DESC);
312 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SLAB_UNRECLAIMABLE,
313 SYS_VMEMINFO_NR_SLAB_UNRECLAIMABLE_DESC);
314 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_PAGE_TABLE_PAGES, SYS_VMEMINFO_NR_PAGE_TABLE_PAGES_DESC);
315 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_KERNEL_STACK, SYS_VMEMINFO_NR_KERNEL_STACK_DESC);
316 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_OVERHEAD, SYS_VMEMINFO_NR_OVERHEAD_DESC);
317 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_UNSTABLE, SYS_VMEMINFO_NR_UNSTABLE_DESC);
318 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_BOUNCE, SYS_VMEMINFO_NR_BOUNCE_DESC);
319 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_VMSCAN_WRITE, SYS_VMEMINFO_NR_VMSCAN_WRITE_DESC);
320 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM,
321 SYS_VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM_DESC);
322 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_WRITEBACK_TEMP, SYS_VMEMINFO_NR_WRITEBACK_TEMP_DESC);
323 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ISOLATED_ANON, SYS_VMEMINFO_NR_ISOLATED_ANON_DESC);
324 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ISOLATED_FILE, SYS_VMEMINFO_NR_ISOLATED_FILE_DESC);
325 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SHMEM, SYS_VMEMINFO_NR_SHMEM_DESC);
326 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_WRITTEN, SYS_VMEMINFO_NR_WRITTEN_DESC);
327 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_PAGES_SCANNED, SYS_VMEMINFO_NR_PAGES_SCANNED_DESC);
328 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES,
329 SYS_VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES_DESC);
330 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_FREE_CMA, SYS_VMEMINFO_NR_FREE_CMA_DESC);
331 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SWAPCACHE, SYS_VMEMINFO_NR_SWAPCACHE_DESC);
332 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ZSPAGES, SYS_VMEMINFO_NR_ZSPAGES_DESC);
333 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ION_HEAP, SYS_VMEMINFO_NR_ION_HEAP_DESC);
334 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_GPU_HEAP, SYS_VMEMINFO_NR_GPU_HEAP_DESC);
335 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_FASTRPC, SYS_VMEMINFO_NR_FASTRPC_DESC);
336 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_INDIRECTLY_RECLAIMABLE,
337 SYS_VMEMINFO_NR_INDIRECTLY_RECLAIMABLE_DESC);
338 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_ION_HEAP_POOL, SYS_VMEMINFO_NR_ION_HEAP_POOL_DESC);
339 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE,
340 SYS_VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE_DESC);
341 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SHADOW_CALL_STACK_BYTES,
342 SYS_VMEMINFO_NR_SHADOW_CALL_STACK_BYTES_DESC);
343 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SHMEM_HUGEPAGES, SYS_VMEMINFO_NR_SHMEM_HUGEPAGES_DESC);
344 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_SHMEM_PMDMAPPED, SYS_VMEMINFO_NR_SHMEM_PMDMAPPED_DESC);
345 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_NR_UNRECLAIMABLE_PAGES,
346 SYS_VMEMINFO_NR_UNRECLAIMABLE_PAGES_DESC);
347 }
InitPgscanEventSysVmemMap()348 inline void TraceStreamerConfig::InitPgscanEventSysVmemMap()
349 {
350 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_DMA, SYS_VMEMINFO_PGSCAN_KSWAPD_DMA_DESC);
351 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_NORMAL,
352 SYS_VMEMINFO_PGSCAN_KSWAPD_NORMAL_DESC);
353 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_MOVABLE,
354 SYS_VMEMINFO_PGSCAN_KSWAPD_MOVABLE_DESC);
355 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_DMA, SYS_VMEMINFO_PGSCAN_DIRECT_DMA_DESC);
356 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_NORMAL,
357 SYS_VMEMINFO_PGSCAN_DIRECT_NORMAL_DESC);
358 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_MOVABLE,
359 SYS_VMEMINFO_PGSCAN_DIRECT_MOVABLE_DESC);
360 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_THROTTLE,
361 SYS_VMEMINFO_PGSCAN_DIRECT_THROTTLE_DESC);
362 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT, SYS_VMEMINFO_PGSCAN_DIRECT_DESC);
363 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD, SYS_VMEMINFO_PGSCAN_KSWAPD_DESC);
364 }
InitPgstealEventSysVmemMap()365 inline void TraceStreamerConfig::InitPgstealEventSysVmemMap()
366 {
367 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_DMA, SYS_VMEMINFO_PGSTEAL_KSWAPD_DMA_DESC);
368 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_NORMAL,
369 SYS_VMEMINFO_PGSTEAL_KSWAPD_NORMAL_DESC);
370 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_MOVABLE,
371 SYS_VMEMINFO_PGSTEAL_KSWAPD_MOVABLE_DESC);
372 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_DMA, SYS_VMEMINFO_PGSTEAL_DIRECT_DMA_DESC);
373 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_NORMAL,
374 SYS_VMEMINFO_PGSTEAL_DIRECT_NORMAL_DESC);
375 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_MOVABLE,
376 SYS_VMEMINFO_PGSTEAL_DIRECT_MOVABLE_DESC);
377 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT, SYS_VMEMINFO_PGSTEAL_DIRECT_DESC);
378 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD, SYS_VMEMINFO_PGSTEAL_KSWAPD_DESC);
379 }
InitCompactEventSysVmemMap()380 inline void TraceStreamerConfig::InitCompactEventSysVmemMap()
381 {
382 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_MIGRATE_SCANNED,
383 SYS_VMEMINFO_COMPACT_MIGRATE_SCANNED_DESC);
384 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_FREE_SCANNED,
385 SYS_VMEMINFO_COMPACT_FREE_SCANNED_DESC);
386 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_ISOLATED, SYS_VMEMINFO_COMPACT_ISOLATED_DESC);
387 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_STALL, SYS_VMEMINFO_COMPACT_STALL_DESC);
388 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_FAIL, SYS_VMEMINFO_COMPACT_FAIL_DESC);
389 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_SUCCESS, SYS_VMEMINFO_COMPACT_SUCCESS_DESC);
390 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_WAKE, SYS_VMEMINFO_COMPACT_DAEMON_WAKE_DESC);
391 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_FREE_SCANNED,
392 SYS_VMEMINFO_COMPACT_DAEMON_FREE_SCANNED_DESC);
393 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED,
394 SYS_VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED_DESC);
395 }
InitUnevictableEventSysVmemMap()396 inline void TraceStreamerConfig::InitUnevictableEventSysVmemMap()
397 {
398 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_CULLED,
399 SYS_VMEMINFO_UNEVICTABLE_PGS_CULLED_DESC);
400 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_SCANNED,
401 SYS_VMEMINFO_UNEVICTABLE_PGS_SCANNED_DESC);
402 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_RESCUED,
403 SYS_VMEMINFO_UNEVICTABLE_PGS_RESCUED_DESC);
404 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_MLOCKED,
405 SYS_VMEMINFO_UNEVICTABLE_PGS_MLOCKED_DESC);
406 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED,
407 SYS_VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED_DESC);
408 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_CLEARED,
409 SYS_VMEMINFO_UNEVICTABLE_PGS_CLEARED_DESC);
410 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_STRANDED,
411 SYS_VMEMINFO_UNEVICTABLE_PGS_STRANDED_DESC);
412 }
InitPgreFillEventSysVmemMap()413 inline void TraceStreamerConfig::InitPgreFillEventSysVmemMap()
414 {
415 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGREFILL_DMA, SYS_VMEMINFO_PGREFILL_DMA_DESC);
416 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGREFILL_NORMAL, SYS_VMEMINFO_PGREFILL_NORMAL_DESC);
417 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGREFILL_MOVABLE, SYS_VMEMINFO_PGREFILL_MOVABLE_DESC);
418 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGREFILL, SYS_VMEMINFO_PGREFILL_DESC);
419 }
InitWorkingSetEventSysVmemMap()420 inline void TraceStreamerConfig::InitWorkingSetEventSysVmemMap()
421 {
422 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_WORKINGSET_REFAULT, SYS_VMEMINFO_WORKINGSET_REFAULT_DESC);
423 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_WORKINGSET_ACTIVATE, SYS_VMEMINFO_WORKINGSET_ACTIVATE_DESC);
424 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_WORKINGSET_NODERECLAIM,
425 SYS_VMEMINFO_WORKINGSET_NODERECLAIM_DESC);
426 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_WORKINGSET_RESTORE, SYS_VMEMINFO_WORKINGSET_RESTORE_DESC);
427 }
InitPgEventSysVmemMap()428 inline void TraceStreamerConfig::InitPgEventSysVmemMap()
429 {
430 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGPGIN, SYS_VMEMINFO_PGPGIN_DESC);
431 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGPGOUT, SYS_VMEMINFO_PGPGOUT_DESC);
432 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGPGOUTCLEAN, SYS_VMEMINFO_PGPGOUTCLEAN_DESC);
433 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGALLOC_DMA, SYS_VMEMINFO_PGALLOC_DMA_DESC);
434 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGALLOC_NORMAL, SYS_VMEMINFO_PGALLOC_NORMAL_DESC);
435 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGALLOC_MOVABLE, SYS_VMEMINFO_PGALLOC_MOVABLE_DESC);
436 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGFREE, SYS_VMEMINFO_PGFREE_DESC);
437 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGACTIVATE, SYS_VMEMINFO_PGACTIVATE_DESC);
438 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGDEACTIVATE, SYS_VMEMINFO_PGDEACTIVATE_DESC);
439 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGFAULT, SYS_VMEMINFO_PGFAULT_DESC);
440 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGMAJFAULT, SYS_VMEMINFO_PGMAJFAULT_DESC);
441 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGROTATED, SYS_VMEMINFO_PGROTATED_DESC);
442 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGMIGRATE_SUCCESS, SYS_VMEMINFO_PGMIGRATE_SUCCESS_DESC);
443 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGMIGRATE_FAIL, SYS_VMEMINFO_PGMIGRATE_FAIL_DESC);
444 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGINODESTEAL, SYS_VMEMINFO_PGINODESTEAL_DESC);
445 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGLAZYFREE, SYS_VMEMINFO_PGLAZYFREE_DESC);
446 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGLAZYFREED, SYS_VMEMINFO_PGLAZYFREED_DESC);
447 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSKIP_DMA, SYS_VMEMINFO_PGSKIP_DMA_DESC);
448 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSKIP_MOVABLE, SYS_VMEMINFO_PGSKIP_MOVABLE_DESC);
449 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PGSKIP_NORMAL, SYS_VMEMINFO_PGSKIP_NORMAL_DESC);
450 }
InitOtherEventSysVmemMap()451 inline void TraceStreamerConfig::InitOtherEventSysVmemMap()
452 {
453 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_UNSPECIFIED, SYS_VMEMINFO_UNSPECIFIED_DESC);
454 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PSWPIN, SYS_VMEMINFO_PSWPIN_DESC);
455 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PSWPOUT, SYS_VMEMINFO_PSWPOUT_DESC);
456 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_SLABS_SCANNED, SYS_VMEMINFO_SLABS_SCANNED_DESC);
457 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_KSWAPD_INODESTEAL, SYS_VMEMINFO_KSWAPD_INODESTEAL_DESC);
458 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY,
459 SYS_VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY_DESC);
460 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY,
461 SYS_VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY_DESC);
462 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_PAGEOUTRUN, SYS_VMEMINFO_PAGEOUTRUN_DESC);
463 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_ALLOCSTALL, SYS_VMEMINFO_ALLOCSTALL_DESC);
464 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_DROP_PAGECACHE, SYS_VMEMINFO_DROP_PAGECACHE_DESC);
465 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_DROP_SLAB, SYS_VMEMINFO_DROP_SLAB_DESC);
466 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_ALLOCSTALL_DMA, SYS_VMEMINFO_ALLOCSTALL_DMA_DESC);
467 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_ALLOCSTALL_MOVABLE, SYS_VMEMINFO_ALLOCSTALL_MOVABLE_DESC);
468 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_ALLOCSTALL_NORMAL, SYS_VMEMINFO_ALLOCSTALL_NORMAL_DESC);
469 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_OOM_KILL, SYS_VMEMINFO_OOM_KILL_DESC);
470 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_SWAP_RA, SYS_VMEMINFO_SWAP_RA_DESC);
471 sysVirtualMemNameMap_.emplace(SysVMeminfoType::VMEMINFO_SWAP_RA_HIT, SYS_VMEMINFO_SWAP_RA_HIT_DESC);
472 }
InitSysVmemMap()473 void TraceStreamerConfig::InitSysVmemMap()
474 {
475 InitNrZoneEventSysVmemMap();
476 InitNrDirtierEventSysVmemMap();
477 InitNrOtherEventSysVmemMap();
478 InitPgscanEventSysVmemMap();
479 InitPgstealEventSysVmemMap();
480 InitCompactEventSysVmemMap();
481 InitUnevictableEventSysVmemMap();
482 InitPgreFillEventSysVmemMap();
483 InitWorkingSetEventSysVmemMap();
484 InitPgEventSysVmemMap();
485 InitOtherEventSysVmemMap();
486 }
InitBinderEventSecurityMap()487 inline void TraceStreamerConfig::InitBinderEventSecurityMap()
488 {
489 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION, statSeverityDescMap_);
490 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_RECEIVED, statSeverityDescMap_);
491 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_ALLOC_BUF, statSeverityDescMap_);
492 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_LOCK, statSeverityDescMap_);
493 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_LOCKED, statSeverityDescMap_);
494 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BINDER_TRANSACTION_UNLOCK, statSeverityDescMap_);
495 }
InitSchedEventSecurityMap()496 inline void TraceStreamerConfig::InitSchedEventSecurityMap()
497 {
498 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SCHED_SWITCH, statSeverityDescMap_);
499 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SCHED_BLOCKED_REASON, statSeverityDescMap_);
500 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SCHED_WAKEUP, statSeverityDescMap_);
501 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SCHED_WAKING, statSeverityDescMap_);
502 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SCHED_WAKEUP_NEW, statSeverityDescMap_);
503 }
InitClkEventSecurityMap()504 inline void TraceStreamerConfig::InitClkEventSecurityMap()
505 {
506 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLOCK_SET_RATE, statSeverityDescMap_);
507 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLOCK_ENABLE, statSeverityDescMap_);
508 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLOCK_DISABLE, statSeverityDescMap_);
509 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLK_SET_RATE, statSeverityDescMap_);
510 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLK_ENABLE, statSeverityDescMap_);
511 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLK_DISABLE, statSeverityDescMap_);
512 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CLOCK_SYNC, statSeverityDescMap_);
513 }
InitCpuEventSecurityMap()514 inline void TraceStreamerConfig::InitCpuEventSecurityMap()
515 {
516 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CPU_IDLE, statSeverityDescMap_);
517 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CPU_FREQUENCY, statSeverityDescMap_);
518 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_CPU_FREQUENCY_LIMITS, statSeverityDescMap_);
519 eventParserStatSeverityDescMap_.emplace(TRACE_CPU_USAGE, statSeverityDescMap_);
520 }
InitInterruptEventSecurityMap()521 inline void TraceStreamerConfig::InitInterruptEventSecurityMap()
522 {
523 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_IPI_ENTRY, statSeverityDescMap_);
524 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_IPI_EXIT, statSeverityDescMap_);
525 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_IRQ_HANDLER_ENTRY, statSeverityDescMap_);
526 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_IRQ_HANDLER_EXIT, statSeverityDescMap_);
527 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SOFTIRQ_RAISE, statSeverityDescMap_);
528 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SOFTIRQ_ENTRY, statSeverityDescMap_);
529 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SOFTIRQ_EXIT, statSeverityDescMap_);
530 }
InitMemoryEventSecurityMap()531 inline void TraceStreamerConfig::InitMemoryEventSecurityMap()
532 {
533 eventParserStatSeverityDescMap_.emplace(TRACE_MEMORY, statSeverityDescMap_);
534 eventParserStatSeverityDescMap_.emplace(TRACE_SYS_MEMORY, statSeverityDescMap_);
535 eventParserStatSeverityDescMap_.emplace(TRACE_ASHMEM, statSeverityDescMap_);
536 eventParserStatSeverityDescMap_.emplace(TRACE_DMAMEM, statSeverityDescMap_);
537 eventParserStatSeverityDescMap_.emplace(TRACE_GPU_PROCESS_MEM, statSeverityDescMap_);
538 eventParserStatSeverityDescMap_.emplace(TRACE_GPU_WINDOW_MEM, statSeverityDescMap_);
539 eventParserStatSeverityDescMap_.emplace(TRACE_JS_MEMORY, statSeverityDescMap_);
540 eventParserStatSeverityDescMap_.emplace(TRACE_SYS_VIRTUAL_MEMORY, statSeverityDescMap_);
541 }
InitBlockEventSecurityMap()542 inline void TraceStreamerConfig::InitBlockEventSecurityMap()
543 {
544 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_BIO_BACKMERGE, statSeverityDescMap_);
545 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_BIO_BOUNCE, statSeverityDescMap_);
546 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_BIO_COMPLETE, statSeverityDescMap_);
547 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_BIO_FRONTMERGE, statSeverityDescMap_);
548 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_BIO_QUEUE, statSeverityDescMap_);
549 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_BIO_REMAP, statSeverityDescMap_);
550 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_DIRTY_BUFFER, statSeverityDescMap_);
551 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_GETRQ, statSeverityDescMap_);
552 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_PLUG, statSeverityDescMap_);
553 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_RQ_COMPLETE, statSeverityDescMap_);
554 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_RQ_INSERT, statSeverityDescMap_);
555 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_RQ_REMAP, statSeverityDescMap_);
556 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_BLOCK_RQ_ISSUE, statSeverityDescMap_);
557 }
InitRegulatorEventSecurityMap()558 inline void TraceStreamerConfig::InitRegulatorEventSecurityMap()
559 {
560 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_REGULATOR_SET_VOLTAGE, statSeverityDescMap_);
561 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_REGULATOR_SET_VOLTAGE_COMPLETE, statSeverityDescMap_);
562 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_REGULATOR_DISABLE, statSeverityDescMap_);
563 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_REGULATOR_DISABLE_COMPLETE, statSeverityDescMap_);
564 }
InitOtherEventSecurityMap()565 inline void TraceStreamerConfig::InitOtherEventSecurityMap()
566 {
567 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_PRINT, statSeverityDescMap_);
568 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_TRACING_MARK_WRITE, statSeverityDescMap_);
569 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_TASK_RENAME, statSeverityDescMap_);
570 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_TASK_NEWTASK, statSeverityDescMap_);
571 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SUSPEND_RESUME, statSeverityDescMap_);
572 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_WORKQUEUE_EXECUTE_START, statSeverityDescMap_);
573 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_WORKQUEUE_EXECUTE_END, statSeverityDescMap_);
574 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SYS_ENTRY, statSeverityDescMap_);
575 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SYS_EXIT, statSeverityDescMap_);
576 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_OOM_SCORE_ADJ_UPDATE, statSeverityDescMap_);
577 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_PROCESS_EXIT, statSeverityDescMap_);
578 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_PROCESS_FREE, statSeverityDescMap_);
579 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SIGNAL_GENERATE, statSeverityDescMap_);
580 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_SIGNAL_DELIVER, statSeverityDescMap_);
581 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_OTHER, statSeverityDescMap_);
582 eventParserStatSeverityDescMap_.emplace(TRACE_DISKIO, statSeverityDescMap_);
583 eventParserStatSeverityDescMap_.emplace(TRACE_PROCESS, statSeverityDescMap_);
584 eventParserStatSeverityDescMap_.emplace(TRACE_NETWORK, statSeverityDescMap_);
585 eventParserStatSeverityDescMap_.emplace(TRACE_PERF, statSeverityDescMap_);
586 eventParserStatSeverityDescMap_.emplace(TRACE_HILOG, statSeverityDescMap_);
587 eventParserStatSeverityDescMap_.emplace(TRACE_HIDUMP_FPS, statSeverityDescMap_);
588 eventParserStatSeverityDescMap_.emplace(TRACE_HISYSEVENT, statSeverityDescMap_);
589 eventParserStatSeverityDescMap_.emplace(TRACE_SMAPS, statSeverityDescMap_);
590 eventParserStatSeverityDescMap_.emplace(TRACE_WINDOW_MANAGER_SERVICE, statSeverityDescMap_);
591 eventParserStatSeverityDescMap_.emplace(TRACE_VSYNC, statSeverityDescMap_);
592 eventParserStatSeverityDescMap_.emplace(TRACE_ON_DO_COMPOSITION, statSeverityDescMap_);
593 eventParserStatSeverityDescMap_.emplace(TRACE_FRAMEQUEUE, statSeverityDescMap_);
594 }
InitEbpfEventSecurityMap()595 inline void TraceStreamerConfig::InitEbpfEventSecurityMap()
596 {
597 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_EBPF, statSeverityDescMap_);
598 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_EBPF_FILE_SYSTEM, statSeverityDescMap_);
599 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_EBPF_PAGED_MEMORY, statSeverityDescMap_);
600 eventParserStatSeverityDescMap_.emplace(TRACE_EVENT_EBPF_BIO_LATENCY, statSeverityDescMap_);
601 }
InitHookEventSecurityMap()602 inline void TraceStreamerConfig::InitHookEventSecurityMap()
603 {
604 eventParserStatSeverityDescMap_.emplace(TRACE_NATIVE_HOOK_MALLOC, statSeverityDescMap_);
605 eventParserStatSeverityDescMap_.emplace(TRACE_NATIVE_HOOK_FREE, statSeverityDescMap_);
606 eventParserStatSeverityDescMap_.emplace(TRACE_NATIVE_HOOK_MMAP, statSeverityDescMap_);
607 eventParserStatSeverityDescMap_.emplace(TRACE_NATIVE_HOOK_MUNMAP, statSeverityDescMap_);
608 eventParserStatSeverityDescMap_.emplace(TRACE_NATIVE_HOOK_RECORD_STATISTICS, statSeverityDescMap_);
609 eventParserStatSeverityDescMap_.emplace(TRACE_NATIVE_HOOK_MEMTAG, statSeverityDescMap_);
610 }
InitSecurityMap()611 void TraceStreamerConfig::InitSecurityMap()
612 {
613 statSeverityDescMap_ = {
614 {STAT_EVENT_RECEIVED, STAT_SEVERITY_LEVEL_INFO}, {STAT_EVENT_DATA_LOST, STAT_SEVERITY_LEVEL_ERROR},
615 {STAT_EVENT_NOTMATCH, STAT_SEVERITY_LEVEL_INFO}, {STAT_EVENT_NOTSUPPORTED, STAT_SEVERITY_LEVEL_WARN},
616 {STAT_EVENT_DATA_INVALID, STAT_SEVERITY_LEVEL_ERROR},
617 };
618 InitBinderEventSecurityMap();
619 InitSchedEventSecurityMap();
620 InitClkEventSecurityMap();
621 InitCpuEventSecurityMap();
622 InitInterruptEventSecurityMap();
623 InitMemoryEventSecurityMap();
624 InitBlockEventSecurityMap();
625 InitRegulatorEventSecurityMap();
626 InitOtherEventSecurityMap();
627 InitEbpfEventSecurityMap();
628 InitHookEventSecurityMap();
629 }
630 } // namespace TraceCfg
631 } // namespace SysTuning
632