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