• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "htrace_mem_parser.h"
16 #include "clock_filter.h"
17 #include "htrace_event_parser.h"
18 #include "measure_filter.h"
19 #include "process_filter.h"
20 #include "stat_filter.h"
21 #include "symbols_filter.h"
22 #include "system_event_measure_filter.h"
23 namespace SysTuning {
24 namespace TraceStreamer {
HtraceMemParser(TraceDataCache * dataCache,const TraceStreamerFilters * ctx)25 HtraceMemParser::HtraceMemParser(TraceDataCache* dataCache, const TraceStreamerFilters* ctx)
26     : HtracePluginTimeParser(dataCache, ctx)
27 {
28     for (auto i = 0; i < MEM_MAX; i++) {
29         memNameDictMap_.insert(
30             std::make_pair(static_cast<MemInfoType>(i),
31                            traceDataCache_->GetDataIndex(config_.memNameMap_.at(static_cast<MemInfoType>(i)))));
32     }
33     for (auto i = 0; i < SysMeminfoType::PMEM_KERNEL_RECLAIMABLE + 1; i++) {
34         sysMemNameDictMap_.insert(
35             std::make_pair(static_cast<SysMeminfoType>(i),
36                            traceDataCache_->GetDataIndex(config_.sysMemNameMap_.at(static_cast<SysMeminfoType>(i)))));
37     }
38     for (auto i = 0; i < SysVMeminfoType::VMEMINFO_WORKINGSET_RESTORE + 1; i++) {
39         sysVMemNameDictMap_.insert(std::make_pair(
40             static_cast<SysVMeminfoType>(i),
41             traceDataCache_->GetDataIndex(config_.sysVirtualMemNameMap_.at(static_cast<SysVMeminfoType>(i)))));
42     }
43 }
44 
~HtraceMemParser()45 HtraceMemParser::~HtraceMemParser()
46 {
47     TS_LOGI("mem ts MIN:%llu, MAX:%llu", static_cast<unsigned long long>(GetPluginStartTime()),
48             static_cast<unsigned long long>(GetPluginEndTime()));
49 }
Parse(const MemoryData & tracePacket,uint64_t timeStamp,BuiltinClocks clock)50 void HtraceMemParser::Parse(const MemoryData& tracePacket, uint64_t timeStamp, BuiltinClocks clock)
51 {
52     auto newTimeStamp = streamFilters_->clockFilter_->ToPrimaryTraceTime(clock, timeStamp);
53     UpdatePluginTimeRange(clock, timeStamp, newTimeStamp);
54     zram_ = tracePacket.zram();
55     if (tracePacket.processesinfo_size()) {
56         ParseProcessInfo(tracePacket, newTimeStamp);
57     }
58     if (tracePacket.meminfo_size()) {
59         ParseMemInfo(tracePacket, newTimeStamp);
60     }
61     if (tracePacket.vmeminfo_size()) {
62         ParseVMemInfo(tracePacket, newTimeStamp);
63     }
64 }
ParseProcessInfo(const MemoryData & tracePacket,uint64_t timeStamp) const65 void HtraceMemParser::ParseProcessInfo(const MemoryData& tracePacket, uint64_t timeStamp) const
66 {
67     if (tracePacket.processesinfo_size()) {
68         streamFilters_->statFilter_->IncreaseStat(TRACE_MEMORY, STAT_EVENT_RECEIVED);
69     }
70     for (int i = 0; i < tracePacket.processesinfo_size(); i++) {
71         auto memInfo = tracePacket.processesinfo(i);
72         auto ipid = streamFilters_->processFilter_->UpdateOrCreateProcessWithName(memInfo.pid(), memInfo.name());
73         uint32_t hasValue = 0;
74         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_VM_SIZE),
75                                                                                 timeStamp, memInfo.vm_size_kb());
76         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_VM_RSS),
77                                                                                 timeStamp, memInfo.vm_rss_kb());
78         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_VM_ANON),
79                                                                                 timeStamp, memInfo.rss_anon_kb());
80         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_RSS_FILE),
81                                                                                 timeStamp, memInfo.rss_file_kb());
82         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_RSS_SHMEM),
83                                                                                 timeStamp, memInfo.rss_shmem_kb());
84         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_VM_SWAP),
85                                                                                 timeStamp, memInfo.vm_swap_kb());
86         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_VM_LOCKED),
87                                                                                 timeStamp, memInfo.vm_locked_kb());
88         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(ipid, memNameDictMap_.at(MEM_VM_HWM),
89                                                                                 timeStamp, memInfo.vm_hwm_kb());
90         hasValue += streamFilters_->processMeasureFilter_->AppendNewMeasureData(
91             ipid, memNameDictMap_.at(MEM_OOM_SCORE_ADJ), timeStamp, memInfo.oom_score_adj());
92         if (hasValue) {
93             streamFilters_->processFilter_->AddProcessMemory(ipid);
94         }
95         if (memInfo.smapinfo_size()) {
96             ParseSmapsInfoEasy(memInfo, timeStamp);
97         }
98     }
99 }
100 
ParseSmapsInfoEasy(const ProcessMemoryInfo & memInfo,uint64_t timeStamp) const101 void HtraceMemParser::ParseSmapsInfoEasy(const ProcessMemoryInfo& memInfo, uint64_t timeStamp) const
102 {
103     streamFilters_->statFilter_->IncreaseStat(TRACE_SMAPS, STAT_EVENT_RECEIVED);
104     for (auto itor = memInfo.smapinfo().begin(); itor != memInfo.smapinfo().end(); itor++) {
105         auto startAddr = "0x" + itor->start_addr();
106         auto endAddr = "0x" + itor->end_addr();
107         uint64_t dirty = itor->dirty();
108         uint64_t swapper = itor->swapper();
109         uint64_t rss = itor->rss();
110         uint64_t pss = itor->pss();
111         uint64_t size = itor->size();
112         double reside = itor->reside();
113         DataIndex protection = traceDataCache_->GetDataIndex(itor->permission());
114         DataIndex path = traceDataCache_->GetDataIndex(itor->path());
115         traceDataCache_->GetSmapsData()->AppendNewData(timeStamp, startAddr, endAddr, dirty, swapper, rss, pss, size,
116                                                        reside, protection, path);
117     }
118 }
119 
ParseMemInfoEasy(const MemoryData & tracePacket,uint64_t timeStamp) const120 void HtraceMemParser::ParseMemInfoEasy(const MemoryData& tracePacket, uint64_t timeStamp) const
121 {
122     if (tracePacket.meminfo_size()) {
123         streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_MEMORY, STAT_EVENT_RECEIVED);
124     }
125     for (int i = 0; i < tracePacket.meminfo_size(); i++) {
126         auto memInfo = tracePacket.meminfo(i);
127         if (config_.sysMemNameMap_.find(memInfo.key()) != config_.sysMemNameMap_.end()) {
128             streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(sysMemNameDictMap_.at(memInfo.key()),
129                                                                              timeStamp, memInfo.value());
130         } else {
131             streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_MEMORY, STAT_EVENT_DATA_INVALID);
132         }
133     }
134 }
135 
ParseVMemInfoEasy(const MemoryData & tracePacket,uint64_t timeStamp) const136 void HtraceMemParser::ParseVMemInfoEasy(const MemoryData& tracePacket, uint64_t timeStamp) const
137 {
138     traceDataCache_->UpdateTraceTime(timeStamp);
139     if (tracePacket.vmeminfo_size()) {
140         streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_VIRTUAL_MEMORY, STAT_EVENT_RECEIVED);
141     }
142     for (int i = 0; i < tracePacket.vmeminfo_size(); i++) {
143         auto memInfo = tracePacket.vmeminfo(i);
144         if (config_.sysVirtualMemNameMap_.find(memInfo.key()) != config_.sysVirtualMemNameMap_.end()) {
145             streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(sysVMemNameDictMap_.at(memInfo.key()),
146                                                                              timeStamp, memInfo.value());
147         } else {
148             streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_VIRTUAL_MEMORY, STAT_EVENT_DATA_INVALID);
149         }
150     }
151 }
152 
ParseMemInfo(const MemoryData & tracePacket,uint64_t timeStamp) const153 void HtraceMemParser::ParseMemInfo(const MemoryData& tracePacket, uint64_t timeStamp) const
154 {
155     streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_MEMORY, STAT_EVENT_RECEIVED);
156     for (int i = 0; i < tracePacket.meminfo_size(); i++) {
157         auto vMemInfo = tracePacket.meminfo(i);
158         switch (static_cast<int32_t>(vMemInfo.key())) {
159             case SysMeminfoType::PMEM_UNSPECIFIED:
160                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
161                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_UNSPECIFIED), timeStamp, vMemInfo.value());
162                 break;
163             case SysMeminfoType::PMEM_MEM_TOTAL:
164                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
165                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_MEM_TOTAL), timeStamp, vMemInfo.value());
166                 break;
167             case SysMeminfoType::PMEM_MEM_FREE:
168                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
169                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_MEM_FREE), timeStamp, vMemInfo.value());
170                 break;
171             case SysMeminfoType::PMEM_MEM_AVAILABLE:
172                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
173                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_MEM_AVAILABLE), timeStamp, vMemInfo.value());
174                 break;
175             case SysMeminfoType::PMEM_BUFFERS:
176                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
177                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_BUFFERS), timeStamp, vMemInfo.value());
178                 break;
179             case SysMeminfoType::PMEM_CACHED:
180                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
181                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_CACHED), timeStamp, vMemInfo.value());
182                 break;
183             case SysMeminfoType::PMEM_SWAP_CACHED:
184                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
185                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SWAP_CACHED), timeStamp, vMemInfo.value());
186                 break;
187             case SysMeminfoType::PMEM_ACTIVE:
188                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
189                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_ACTIVE), timeStamp, vMemInfo.value());
190                 break;
191             case SysMeminfoType::PMEM_INACTIVE:
192                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
193                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_INACTIVE), timeStamp, vMemInfo.value());
194                 break;
195             case SysMeminfoType::PMEM_ACTIVE_ANON:
196                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
197                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_ACTIVE_ANON), timeStamp, vMemInfo.value());
198                 break;
199             case SysMeminfoType::PMEM_INACTIVE_ANON:
200                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
201                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_INACTIVE_ANON), timeStamp, vMemInfo.value());
202                 break;
203             case SysMeminfoType::PMEM_ACTIVE_FILE:
204                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
205                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_ACTIVE_FILE), timeStamp, vMemInfo.value());
206                 break;
207             case SysMeminfoType::PMEM_INACTIVE_FILE:
208                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
209                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_INACTIVE_FILE), timeStamp, vMemInfo.value());
210                 break;
211             case SysMeminfoType::PMEM_UNEVICTABLE:
212                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
213                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_UNEVICTABLE), timeStamp, vMemInfo.value());
214                 break;
215             case SysMeminfoType::PMEM_MLOCKED:
216                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
217                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_MLOCKED), timeStamp, vMemInfo.value());
218                 break;
219             case SysMeminfoType::PMEM_SWAP_TOTAL:
220                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
221                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SWAP_TOTAL), timeStamp, vMemInfo.value());
222                 break;
223             case SysMeminfoType::PMEM_SWAP_FREE:
224                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
225                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SWAP_FREE), timeStamp, vMemInfo.value());
226                 break;
227             case SysMeminfoType::PMEM_DIRTY:
228                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
229                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_DIRTY), timeStamp, vMemInfo.value());
230                 break;
231             case SysMeminfoType::PMEM_WRITEBACK:
232                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
233                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_WRITEBACK), timeStamp, vMemInfo.value());
234                 break;
235             case SysMeminfoType::PMEM_ANON_PAGES:
236                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
237                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_ANON_PAGES), timeStamp, vMemInfo.value());
238                 break;
239             case SysMeminfoType::PMEM_MAPPED:
240                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
241                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_MAPPED), timeStamp, vMemInfo.value());
242                 break;
243             case SysMeminfoType::PMEM_SHMEM:
244                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
245                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SHMEM), timeStamp, vMemInfo.value());
246                 break;
247             case SysMeminfoType::PMEM_SLAB:
248                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
249                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SLAB), timeStamp, vMemInfo.value());
250                 break;
251             case SysMeminfoType::PMEM_SLAB_RECLAIMABLE:
252                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
253                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SLAB_RECLAIMABLE), timeStamp, vMemInfo.value());
254                 break;
255             case SysMeminfoType::PMEM_SLAB_UNRECLAIMABLE:
256                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
257                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_SLAB_UNRECLAIMABLE), timeStamp, vMemInfo.value());
258                 break;
259             case SysMeminfoType::PMEM_KERNEL_STACK:
260                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
261                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_KERNEL_STACK), timeStamp, vMemInfo.value());
262                 break;
263             case SysMeminfoType::PMEM_PAGE_TABLES:
264                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
265                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_PAGE_TABLES), timeStamp, vMemInfo.value());
266                 break;
267             case SysMeminfoType::PMEM_COMMIT_LIMIT:
268                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
269                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_COMMIT_LIMIT), timeStamp, vMemInfo.value());
270                 break;
271             case SysMeminfoType::PMEM_COMMITED_AS:
272                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
273                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_COMMITED_AS), timeStamp, vMemInfo.value());
274                 break;
275             case SysMeminfoType::PMEM_VMALLOC_TOTAL:
276                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
277                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_VMALLOC_TOTAL), timeStamp, vMemInfo.value());
278                 break;
279             case SysMeminfoType::PMEM_VMALLOC_USED:
280                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
281                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_VMALLOC_USED), timeStamp, vMemInfo.value());
282                 break;
283             case SysMeminfoType::PMEM_VMALLOC_CHUNK:
284                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
285                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_VMALLOC_CHUNK), timeStamp, vMemInfo.value());
286                 break;
287             case SysMeminfoType::PMEM_CMA_TOTAL:
288                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
289                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_CMA_TOTAL), timeStamp, vMemInfo.value());
290                 break;
291             case SysMeminfoType::PMEM_CMA_FREE:
292                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
293                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_CMA_FREE), timeStamp, vMemInfo.value());
294                 break;
295             case SysMeminfoType::PMEM_KERNEL_RECLAIMABLE:
296                 streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(
297                     sysMemNameDictMap_.at(SysMeminfoType::PMEM_KERNEL_RECLAIMABLE), timeStamp, vMemInfo.value());
298                 break;
299             case SysMeminfoType_INT_MIN_SENTINEL_DO_NOT_USE_:
300             case SysMeminfoType_INT_MAX_SENTINEL_DO_NOT_USE_:
301             default:
302                 streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_MEMORY, STAT_EVENT_DATA_INVALID);
303                 break;
304         }
305     }
306     streamFilters_->sysEventMemMeasureFilter_->AppendNewMeasureData(zramIndex_, timeStamp, zram_);
307 }
ParseVMemInfo(const MemoryData & tracePacket,uint64_t timeStamp) const308 void HtraceMemParser::ParseVMemInfo(const MemoryData& tracePacket, uint64_t timeStamp) const
309 {
310     streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_VIRTUAL_MEMORY, STAT_EVENT_RECEIVED);
311     for (int i = 0; i < tracePacket.vmeminfo_size(); i++) {
312         auto vMemInfo = tracePacket.vmeminfo(i);
313         switch (static_cast<int32_t>(vMemInfo.key())) {
314             case SysVMeminfoType::VMEMINFO_UNSPECIFIED:
315                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
316                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNSPECIFIED), timeStamp, vMemInfo.value());
317                 break;
318             case SysVMeminfoType::VMEMINFO_NR_FREE_PAGES:
319                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
320                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_FREE_PAGES), timeStamp, vMemInfo.value());
321                 break;
322             case SysVMeminfoType::VMEMINFO_NR_ALLOC_BATCH:
323                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
324                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ALLOC_BATCH), timeStamp, vMemInfo.value());
325                 break;
326             case SysVMeminfoType::VMEMINFO_NR_INACTIVE_ANON:
327                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
328                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_INACTIVE_ANON), timeStamp, vMemInfo.value());
329                 break;
330             case SysVMeminfoType::VMEMINFO_NR_ACTIVE_ANON:
331                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
332                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ACTIVE_ANON), timeStamp, vMemInfo.value());
333                 break;
334             case SysVMeminfoType::VMEMINFO_NR_INACTIVE_FILE:
335                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
336                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_INACTIVE_FILE), timeStamp, vMemInfo.value());
337                 break;
338             case SysVMeminfoType::VMEMINFO_NR_ACTIVE_FILE:
339                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
340                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ACTIVE_FILE), timeStamp, vMemInfo.value());
341                 break;
342             case SysVMeminfoType::VMEMINFO_NR_UNEVICTABLE:
343                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
344                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_UNEVICTABLE), timeStamp, vMemInfo.value());
345                 break;
346             case SysVMeminfoType::VMEMINFO_NR_MLOCK:
347                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
348                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_MLOCK), timeStamp, vMemInfo.value());
349                 break;
350             case SysVMeminfoType::VMEMINFO_NR_ANON_PAGES:
351                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
352                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ANON_PAGES), timeStamp, vMemInfo.value());
353                 break;
354             case SysVMeminfoType::VMEMINFO_NR_MAPPED:
355                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
356                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_MAPPED), timeStamp, vMemInfo.value());
357                 break;
358             case SysVMeminfoType::VMEMINFO_NR_FILE_PAGES:
359                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
360                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_FILE_PAGES), timeStamp, vMemInfo.value());
361                 break;
362             case SysVMeminfoType::VMEMINFO_NR_DIRTY:
363                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
364                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_DIRTY), timeStamp, vMemInfo.value());
365                 break;
366             case SysVMeminfoType::VMEMINFO_NR_WRITEBACK:
367                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
368                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_WRITEBACK), timeStamp, vMemInfo.value());
369                 break;
370             case SysVMeminfoType::VMEMINFO_NR_SLAB_RECLAIMABLE:
371                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
372                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SLAB_RECLAIMABLE), timeStamp, vMemInfo.value());
373                 break;
374             case SysVMeminfoType::VMEMINFO_NR_SLAB_UNRECLAIMABLE:
375                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
376                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SLAB_UNRECLAIMABLE), timeStamp,
377                     vMemInfo.value());
378                 break;
379             case SysVMeminfoType::VMEMINFO_NR_PAGE_TABLE_PAGES:
380                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
381                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_PAGE_TABLE_PAGES), timeStamp, vMemInfo.value());
382                 break;
383             case SysVMeminfoType::VMEMINFO_NR_KERNEL_STACK:
384                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
385                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_KERNEL_STACK), timeStamp, vMemInfo.value());
386                 break;
387             case SysVMeminfoType::VMEMINFO_NR_OVERHEAD:
388                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
389                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_OVERHEAD), timeStamp, vMemInfo.value());
390                 break;
391             case SysVMeminfoType::VMEMINFO_NR_UNSTABLE:
392                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
393                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_UNSTABLE), timeStamp, vMemInfo.value());
394                 break;
395             case SysVMeminfoType::VMEMINFO_NR_BOUNCE:
396                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
397                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_BOUNCE), timeStamp, vMemInfo.value());
398                 break;
399             case SysVMeminfoType::VMEMINFO_NR_VMSCAN_WRITE:
400                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
401                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_VMSCAN_WRITE), timeStamp, vMemInfo.value());
402                 break;
403             case SysVMeminfoType::VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM:
404                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
405                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM), timeStamp,
406                     vMemInfo.value());
407                 break;
408             case SysVMeminfoType::VMEMINFO_NR_WRITEBACK_TEMP:
409                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
410                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_WRITEBACK_TEMP), timeStamp, vMemInfo.value());
411                 break;
412             case SysVMeminfoType::VMEMINFO_NR_ISOLATED_ANON:
413                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
414                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ISOLATED_ANON), timeStamp, vMemInfo.value());
415                 break;
416             case SysVMeminfoType::VMEMINFO_NR_ISOLATED_FILE:
417                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
418                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ISOLATED_FILE), timeStamp, vMemInfo.value());
419                 break;
420             case SysVMeminfoType::VMEMINFO_NR_SHMEM:
421                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
422                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SHMEM), timeStamp, vMemInfo.value());
423                 break;
424             case SysVMeminfoType::VMEMINFO_NR_DIRTIED:
425                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
426                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_DIRTIED), timeStamp, vMemInfo.value());
427                 break;
428             case SysVMeminfoType::VMEMINFO_NR_WRITTEN:
429                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
430                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_WRITTEN), timeStamp, vMemInfo.value());
431                 break;
432             case SysVMeminfoType::VMEMINFO_NR_PAGES_SCANNED:
433                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
434                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_PAGES_SCANNED), timeStamp, vMemInfo.value());
435                 break;
436             case SysVMeminfoType::VMEMINFO_WORKINGSET_REFAULT:
437                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
438                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_WORKINGSET_REFAULT), timeStamp, vMemInfo.value());
439                 break;
440             case SysVMeminfoType::VMEMINFO_WORKINGSET_ACTIVATE:
441                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
442                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_WORKINGSET_ACTIVATE), timeStamp, vMemInfo.value());
443                 break;
444             case SysVMeminfoType::VMEMINFO_WORKINGSET_NODERECLAIM:
445                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
446                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_WORKINGSET_NODERECLAIM), timeStamp,
447                     vMemInfo.value());
448                 break;
449             case SysVMeminfoType::VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES:
450                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
451                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES), timeStamp,
452                     vMemInfo.value());
453                 break;
454             case SysVMeminfoType::VMEMINFO_NR_FREE_CMA:
455                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
456                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_FREE_CMA), timeStamp, vMemInfo.value());
457                 break;
458             case SysVMeminfoType::VMEMINFO_NR_SWAPCACHE:
459                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
460                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SWAPCACHE), timeStamp, vMemInfo.value());
461                 break;
462             case SysVMeminfoType::VMEMINFO_NR_DIRTY_THRESHOLD:
463                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
464                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_DIRTY_THRESHOLD), timeStamp, vMemInfo.value());
465                 break;
466             case SysVMeminfoType::VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD:
467                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
468                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD), timeStamp,
469                     vMemInfo.value());
470                 break;
471             case SysVMeminfoType::VMEMINFO_PGPGIN:
472                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
473                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGPGIN), timeStamp, vMemInfo.value());
474                 break;
475             case SysVMeminfoType::VMEMINFO_PGPGOUT:
476                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
477                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGPGOUT), timeStamp, vMemInfo.value());
478                 break;
479             case SysVMeminfoType::VMEMINFO_PGPGOUTCLEAN:
480                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
481                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGPGOUTCLEAN), timeStamp, vMemInfo.value());
482                 break;
483             case SysVMeminfoType::VMEMINFO_PSWPIN:
484                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
485                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PSWPIN), timeStamp, vMemInfo.value());
486                 break;
487             case SysVMeminfoType::VMEMINFO_PSWPOUT:
488                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
489                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PSWPOUT), timeStamp, vMemInfo.value());
490                 break;
491             case SysVMeminfoType::VMEMINFO_PGALLOC_DMA:
492                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
493                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGALLOC_DMA), timeStamp, vMemInfo.value());
494                 break;
495             case SysVMeminfoType::VMEMINFO_PGALLOC_NORMAL:
496                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
497                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGALLOC_NORMAL), timeStamp, vMemInfo.value());
498                 break;
499             case SysVMeminfoType::VMEMINFO_PGALLOC_MOVABLE:
500                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
501                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGALLOC_MOVABLE), timeStamp, vMemInfo.value());
502                 break;
503             case SysVMeminfoType::VMEMINFO_PGFREE:
504                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
505                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGFREE), timeStamp, vMemInfo.value());
506                 break;
507             case SysVMeminfoType::VMEMINFO_PGACTIVATE:
508                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
509                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGACTIVATE), timeStamp, vMemInfo.value());
510                 break;
511             case SysVMeminfoType::VMEMINFO_PGDEACTIVATE:
512                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
513                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGDEACTIVATE), timeStamp, vMemInfo.value());
514                 break;
515             case SysVMeminfoType::VMEMINFO_PGFAULT:
516                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
517                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGFAULT), timeStamp, vMemInfo.value());
518                 break;
519             case SysVMeminfoType::VMEMINFO_PGMAJFAULT:
520                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
521                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGMAJFAULT), timeStamp, vMemInfo.value());
522                 break;
523             case SysVMeminfoType::VMEMINFO_PGREFILL_DMA:
524                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
525                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGREFILL_DMA), timeStamp, vMemInfo.value());
526                 break;
527             case SysVMeminfoType::VMEMINFO_PGREFILL_NORMAL:
528                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
529                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGREFILL_NORMAL), timeStamp, vMemInfo.value());
530                 break;
531             case SysVMeminfoType::VMEMINFO_PGREFILL_MOVABLE:
532                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
533                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGREFILL_MOVABLE), timeStamp, vMemInfo.value());
534                 break;
535             case SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_DMA:
536                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
537                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_DMA), timeStamp, vMemInfo.value());
538                 break;
539             case SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_NORMAL:
540                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
541                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_NORMAL), timeStamp,
542                     vMemInfo.value());
543                 break;
544             case SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_MOVABLE:
545                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
546                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD_MOVABLE), timeStamp,
547                     vMemInfo.value());
548                 break;
549             case SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_DMA:
550                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
551                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_DMA), timeStamp, vMemInfo.value());
552                 break;
553             case SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_NORMAL:
554                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
555                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_NORMAL), timeStamp,
556                     vMemInfo.value());
557                 break;
558             case SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_MOVABLE:
559                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
560                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT_MOVABLE), timeStamp,
561                     vMemInfo.value());
562                 break;
563             case SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_DMA:
564                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
565                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_DMA), timeStamp, vMemInfo.value());
566                 break;
567             case SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_NORMAL:
568                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
569                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_NORMAL), timeStamp,
570                     vMemInfo.value());
571                 break;
572             case SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_MOVABLE:
573                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
574                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD_MOVABLE), timeStamp,
575                     vMemInfo.value());
576                 break;
577             case SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_DMA:
578                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
579                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_DMA), timeStamp, vMemInfo.value());
580                 break;
581             case SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_NORMAL:
582                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
583                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_NORMAL), timeStamp,
584                     vMemInfo.value());
585                 break;
586             case SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_MOVABLE:
587                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
588                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_MOVABLE), timeStamp,
589                     vMemInfo.value());
590                 break;
591             case SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_THROTTLE:
592                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
593                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT_THROTTLE), timeStamp,
594                     vMemInfo.value());
595                 break;
596             case SysVMeminfoType::VMEMINFO_PGINODESTEAL:
597                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
598                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGINODESTEAL), timeStamp, vMemInfo.value());
599                 break;
600             case SysVMeminfoType::VMEMINFO_SLABS_SCANNED:
601                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
602                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_SLABS_SCANNED), timeStamp, vMemInfo.value());
603                 break;
604             case SysVMeminfoType::VMEMINFO_KSWAPD_INODESTEAL:
605                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
606                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_KSWAPD_INODESTEAL), timeStamp, vMemInfo.value());
607                 break;
608             case SysVMeminfoType::VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY:
609                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
610                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY), timeStamp,
611                     vMemInfo.value());
612                 break;
613             case SysVMeminfoType::VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY:
614                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
615                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY), timeStamp,
616                     vMemInfo.value());
617                 break;
618             case SysVMeminfoType::VMEMINFO_PAGEOUTRUN:
619                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
620                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PAGEOUTRUN), timeStamp, vMemInfo.value());
621                 break;
622             case SysVMeminfoType::VMEMINFO_ALLOCSTALL:
623                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
624                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_ALLOCSTALL), timeStamp, vMemInfo.value());
625                 break;
626             case SysVMeminfoType::VMEMINFO_PGROTATED:
627                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
628                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGROTATED), timeStamp, vMemInfo.value());
629                 break;
630             case SysVMeminfoType::VMEMINFO_DROP_PAGECACHE:
631                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
632                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_DROP_PAGECACHE), timeStamp, vMemInfo.value());
633                 break;
634             case SysVMeminfoType::VMEMINFO_DROP_SLAB:
635                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
636                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_DROP_SLAB), timeStamp, vMemInfo.value());
637                 break;
638             case SysVMeminfoType::VMEMINFO_PGMIGRATE_SUCCESS:
639                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
640                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGMIGRATE_SUCCESS), timeStamp, vMemInfo.value());
641                 break;
642             case SysVMeminfoType::VMEMINFO_PGMIGRATE_FAIL:
643                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
644                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGMIGRATE_FAIL), timeStamp, vMemInfo.value());
645                 break;
646             case SysVMeminfoType::VMEMINFO_COMPACT_MIGRATE_SCANNED:
647                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
648                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_MIGRATE_SCANNED), timeStamp,
649                     vMemInfo.value());
650                 break;
651             case SysVMeminfoType::VMEMINFO_COMPACT_FREE_SCANNED:
652                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
653                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_FREE_SCANNED), timeStamp,
654                     vMemInfo.value());
655                 break;
656             case SysVMeminfoType::VMEMINFO_COMPACT_ISOLATED:
657                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
658                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_ISOLATED), timeStamp, vMemInfo.value());
659                 break;
660             case SysVMeminfoType::VMEMINFO_COMPACT_STALL:
661                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
662                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_STALL), timeStamp, vMemInfo.value());
663                 break;
664             case SysVMeminfoType::VMEMINFO_COMPACT_FAIL:
665                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
666                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_FAIL), timeStamp, vMemInfo.value());
667                 break;
668             case SysVMeminfoType::VMEMINFO_COMPACT_SUCCESS:
669                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
670                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_SUCCESS), timeStamp, vMemInfo.value());
671                 break;
672             case SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_WAKE:
673                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
674                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_WAKE), timeStamp, vMemInfo.value());
675                 break;
676             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_CULLED:
677                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
678                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_CULLED), timeStamp,
679                     vMemInfo.value());
680                 break;
681             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_SCANNED:
682                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
683                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_SCANNED), timeStamp,
684                     vMemInfo.value());
685                 break;
686             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_RESCUED:
687                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
688                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_RESCUED), timeStamp,
689                     vMemInfo.value());
690                 break;
691             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_MLOCKED:
692                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
693                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_MLOCKED), timeStamp,
694                     vMemInfo.value());
695                 break;
696             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED:
697                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
698                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED), timeStamp,
699                     vMemInfo.value());
700                 break;
701             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_CLEARED:
702                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
703                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_CLEARED), timeStamp,
704                     vMemInfo.value());
705                 break;
706             case SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_STRANDED:
707                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
708                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_UNEVICTABLE_PGS_STRANDED), timeStamp,
709                     vMemInfo.value());
710                 break;
711             case SysVMeminfoType::VMEMINFO_NR_ZSPAGES:
712                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
713                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZSPAGES), timeStamp, vMemInfo.value());
714                 break;
715             case SysVMeminfoType::VMEMINFO_NR_ION_HEAP:
716                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
717                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ION_HEAP), timeStamp, vMemInfo.value());
718                 break;
719             case SysVMeminfoType::VMEMINFO_NR_GPU_HEAP:
720                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
721                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_GPU_HEAP), timeStamp, vMemInfo.value());
722                 break;
723             case SysVMeminfoType::VMEMINFO_ALLOCSTALL_DMA:
724                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
725                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_ALLOCSTALL_DMA), timeStamp, vMemInfo.value());
726                 break;
727             case SysVMeminfoType::VMEMINFO_ALLOCSTALL_MOVABLE:
728                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
729                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_ALLOCSTALL_MOVABLE), timeStamp, vMemInfo.value());
730                 break;
731             case SysVMeminfoType::VMEMINFO_ALLOCSTALL_NORMAL:
732                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
733                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_ALLOCSTALL_NORMAL), timeStamp, vMemInfo.value());
734                 break;
735             case SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_FREE_SCANNED:
736                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
737                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_FREE_SCANNED), timeStamp,
738                     vMemInfo.value());
739                 break;
740             case SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED:
741                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
742                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED), timeStamp,
743                     vMemInfo.value());
744                 break;
745             case SysVMeminfoType::VMEMINFO_NR_FASTRPC:
746                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
747                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_FASTRPC), timeStamp, vMemInfo.value());
748                 break;
749             case SysVMeminfoType::VMEMINFO_NR_INDIRECTLY_RECLAIMABLE:
750                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
751                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_INDIRECTLY_RECLAIMABLE), timeStamp,
752                     vMemInfo.value());
753                 break;
754             case SysVMeminfoType::VMEMINFO_NR_ION_HEAP_POOL:
755                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
756                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ION_HEAP_POOL), timeStamp, vMemInfo.value());
757                 break;
758             case SysVMeminfoType::VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE:
759                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
760                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE), timeStamp,
761                     vMemInfo.value());
762                 break;
763             case SysVMeminfoType::VMEMINFO_NR_SHADOW_CALL_STACK_BYTES:
764                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
765                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SHADOW_CALL_STACK_BYTES), timeStamp,
766                     vMemInfo.value());
767                 break;
768             case SysVMeminfoType::VMEMINFO_NR_SHMEM_HUGEPAGES:
769                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
770                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SHMEM_HUGEPAGES), timeStamp, vMemInfo.value());
771                 break;
772             case SysVMeminfoType::VMEMINFO_NR_SHMEM_PMDMAPPED:
773                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
774                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_SHMEM_PMDMAPPED), timeStamp, vMemInfo.value());
775                 break;
776             case SysVMeminfoType::VMEMINFO_NR_UNRECLAIMABLE_PAGES:
777                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
778                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_UNRECLAIMABLE_PAGES), timeStamp,
779                     vMemInfo.value());
780                 break;
781             case SysVMeminfoType::VMEMINFO_NR_ZONE_ACTIVE_ANON:
782                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
783                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZONE_ACTIVE_ANON), timeStamp, vMemInfo.value());
784                 break;
785             case SysVMeminfoType::VMEMINFO_NR_ZONE_ACTIVE_FILE:
786                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
787                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZONE_ACTIVE_FILE), timeStamp, vMemInfo.value());
788                 break;
789             case SysVMeminfoType::VMEMINFO_NR_ZONE_INACTIVE_ANON:
790                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
791                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZONE_INACTIVE_ANON), timeStamp,
792                     vMemInfo.value());
793                 break;
794             case SysVMeminfoType::VMEMINFO_NR_ZONE_INACTIVE_FILE:
795                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
796                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZONE_INACTIVE_FILE), timeStamp,
797                     vMemInfo.value());
798                 break;
799             case SysVMeminfoType::VMEMINFO_NR_ZONE_UNEVICTABLE:
800                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
801                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZONE_UNEVICTABLE), timeStamp, vMemInfo.value());
802                 break;
803             case SysVMeminfoType::VMEMINFO_NR_ZONE_WRITE_PENDING:
804                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
805                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_NR_ZONE_WRITE_PENDING), timeStamp,
806                     vMemInfo.value());
807                 break;
808             case SysVMeminfoType::VMEMINFO_OOM_KILL:
809                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
810                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_OOM_KILL), timeStamp, vMemInfo.value());
811                 break;
812             case SysVMeminfoType::VMEMINFO_PGLAZYFREE:
813                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
814                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGLAZYFREE), timeStamp, vMemInfo.value());
815                 break;
816             case SysVMeminfoType::VMEMINFO_PGLAZYFREED:
817                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
818                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGLAZYFREED), timeStamp, vMemInfo.value());
819                 break;
820             case SysVMeminfoType::VMEMINFO_PGREFILL:
821                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
822                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGREFILL), timeStamp, vMemInfo.value());
823                 break;
824             case SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT:
825                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
826                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_DIRECT), timeStamp, vMemInfo.value());
827                 break;
828             case SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD:
829                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
830                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSCAN_KSWAPD), timeStamp, vMemInfo.value());
831                 break;
832             case SysVMeminfoType::VMEMINFO_PGSKIP_DMA:
833                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
834                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSKIP_DMA), timeStamp, vMemInfo.value());
835                 break;
836             case SysVMeminfoType::VMEMINFO_PGSKIP_MOVABLE:
837                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
838                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSKIP_MOVABLE), timeStamp, vMemInfo.value());
839                 break;
840             case SysVMeminfoType::VMEMINFO_PGSKIP_NORMAL:
841                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
842                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSKIP_NORMAL), timeStamp, vMemInfo.value());
843                 break;
844             case SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT:
845                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
846                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_DIRECT), timeStamp, vMemInfo.value());
847                 break;
848             case SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD:
849                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
850                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_PGSTEAL_KSWAPD), timeStamp, vMemInfo.value());
851                 break;
852             case SysVMeminfoType::VMEMINFO_SWAP_RA:
853                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
854                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_SWAP_RA), timeStamp, vMemInfo.value());
855                 break;
856             case SysVMeminfoType::VMEMINFO_SWAP_RA_HIT:
857                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
858                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_SWAP_RA_HIT), timeStamp, vMemInfo.value());
859                 break;
860             case SysVMeminfoType::VMEMINFO_WORKINGSET_RESTORE:
861                 streamFilters_->sysEventVMemMeasureFilter_->AppendNewMeasureData(
862                     sysVMemNameDictMap_.at(SysVMeminfoType::VMEMINFO_WORKINGSET_RESTORE), timeStamp, vMemInfo.value());
863                 break;
864             case SysVMeminfoType_INT_MIN_SENTINEL_DO_NOT_USE_:
865             case SysVMeminfoType_INT_MAX_SENTINEL_DO_NOT_USE_:
866             default:
867                 streamFilters_->statFilter_->IncreaseStat(TRACE_SYS_VIRTUAL_MEMORY, STAT_EVENT_DATA_INVALID);
868         }
869     }
870 }
Finish()871 void HtraceMemParser::Finish()
872 {
873     traceDataCache_->MixTraceTime(GetPluginStartTime(), GetPluginEndTime());
874 }
875 } // namespace TraceStreamer
876 } // namespace SysTuning
877