• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 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
16export interface ProfilerSessionConfigBufferConfig {
17    pages: number;
18    policy: ProfilerSessionConfigBufferConfigPolicy;
19}
20
21export enum ProfilerSessionConfigBufferConfigPolicy {
22    RECYCLE = 0,
23    FLATTEN = 1,
24    UNRECOGNIZED = 2,
25}
26
27export interface ProfilerSessionConfig {
28    buffers: ProfilerSessionConfigBufferConfig[];
29    sessionMode: ProfilerSessionConfigMode;
30    /** for OFFLINE mode, result file path */
31    resultFile: string;
32    /** for OFFLINE mode, result file max size in KB */
33    resultMaxSize: number;
34    /** for OFFLINE mode, sample duration in ms */
35    sampleDuration: number;
36    /** if set to non-zero value, session will auto-destroyed after CreateSession in ms */
37    keepAliveTime: number;
38}
39
40export enum ProfilerSessionConfigMode {
41    /** OFFLINE - save all plugin results to result file. */
42    OFFLINE = 0,
43    /** ONLINE - push all plugin results to host PC with streamed FetchDataResponse. */
44    ONLINE = 1,
45    UNRECOGNIZED = -1,
46}
47
48export interface TracePluginConfig {
49    /** kernel event set */
50    ftraceEvents: string[];
51    /** bytrace event set */
52    hitraceCategories: string[];
53    /** bytrace app set */
54    hitraceApps: string[];
55    /** kernel trace buffer size */
56    bufferSizeKb: number;
57    /** time interval in milliseconds to notify service process */
58    flushIntervalMs: number;
59    /** buffer water mark threshold to notify service process */
60    flushThresholdKb: number;
61    /** parse /proc/kallsyms or not */
62    parseKsyms: boolean;
63    /** value for trace_clock */
64    clock: string;
65    /** time interval in milliseconds to read kernel trace buffer */
66    tracePeriodMs: number;
67    /** raw data file prefix for debug */
68    rawDataPrefix: string;
69    /** time duration in millisconds for trace actions */
70    traceDurationMs: number;
71    /** enable debug options */
72    debugOn: boolean;
73}
74
75export interface CreateSessionRequest {
76    requestId: number;
77    sessionConfig: ProfilerSessionConfig | undefined;
78    pluginConfigs: ProfilerPluginConfig<any>[];
79}
80
81export interface ProfilerPluginConfig<T> {
82    pluginName: string;
83    sampleInterval: number;
84    configData: T;
85}
86
87
88export interface MemoryConfig {
89    /** set true to report process list */
90    reportProcessTree: boolean;
91    /** set true to report memory counter from /proc/meminfo */
92    reportSysmemMemInfo: boolean;
93    /** set required counter list of system meminfo, eg:MemTotal, MemFree, etc. */
94    sysMeminfoCounters: SysMeminfoType[];
95    /** set true to report memory counter from /proc/vmstat */
96    reportSysmemVmemInfo: boolean;
97    /** set required counter list of virtual system meminfo, eg:nr_free_pages, nr_anon_pages, etc. */
98    sysVmeminfoCounters: SysVMeminfoType[];
99    /** set true to report process meminfo from /proc/${pid}/stat */
100    reportProcessMemInfo: boolean;
101    /** set true to report application memory usage summary, eg:java heap memory, native heap, stack memory, etc. */
102    reportAppMemInfo: boolean;
103    /**
104     * set true to report application memory by memory service, otherwise,
105     * application memory will count up by /proc/${pid}/smaps information
106     */
107    reportAppMemByMemoryService: boolean;
108    /** set required pid list */
109    pid: number[];
110}
111
112
113export function sysVMeminfoTypeFromJSON(object: any): SysVMeminfoType {
114    switch (object) {
115        case 0:
116        case "VMEMINFO_UNSPECIFIED":
117            return SysVMeminfoType.VMEMINFO_UNSPECIFIED;
118        case 1:
119        case "VMEMINFO_NR_FREE_PAGES":
120            return SysVMeminfoType.VMEMINFO_NR_FREE_PAGES;
121        case 2:
122        case "VMEMINFO_NR_ALLOC_BATCH":
123            return SysVMeminfoType.VMEMINFO_NR_ALLOC_BATCH;
124        case 3:
125        case "VMEMINFO_NR_INACTIVE_ANON":
126            return SysVMeminfoType.VMEMINFO_NR_INACTIVE_ANON;
127        case 4:
128        case "VMEMINFO_NR_ACTIVE_ANON":
129            return SysVMeminfoType.VMEMINFO_NR_ACTIVE_ANON;
130        case 5:
131        case "VMEMINFO_NR_INACTIVE_FILE":
132            return SysVMeminfoType.VMEMINFO_NR_INACTIVE_FILE;
133        case 6:
134        case "VMEMINFO_NR_ACTIVE_FILE":
135            return SysVMeminfoType.VMEMINFO_NR_ACTIVE_FILE;
136        case 7:
137        case "VMEMINFO_NR_UNEVICTABLE":
138            return SysVMeminfoType.VMEMINFO_NR_UNEVICTABLE;
139        case 8:
140        case "VMEMINFO_NR_MLOCK":
141            return SysVMeminfoType.VMEMINFO_NR_MLOCK;
142        case 9:
143        case "VMEMINFO_NR_ANON_PAGES":
144            return SysVMeminfoType.VMEMINFO_NR_ANON_PAGES;
145        case 10:
146        case "VMEMINFO_NR_MAPPED":
147            return SysVMeminfoType.VMEMINFO_NR_MAPPED;
148        case 11:
149        case "VMEMINFO_NR_FILE_PAGES":
150            return SysVMeminfoType.VMEMINFO_NR_FILE_PAGES;
151        case 12:
152        case "VMEMINFO_NR_DIRTY":
153            return SysVMeminfoType.VMEMINFO_NR_DIRTY;
154        case 13:
155        case "VMEMINFO_NR_WRITEBACK":
156            return SysVMeminfoType.VMEMINFO_NR_WRITEBACK;
157        case 14:
158        case "VMEMINFO_NR_SLAB_RECLAIMABLE":
159            return SysVMeminfoType.VMEMINFO_NR_SLAB_RECLAIMABLE;
160        case 15:
161        case "VMEMINFO_NR_SLAB_UNRECLAIMABLE":
162            return SysVMeminfoType.VMEMINFO_NR_SLAB_UNRECLAIMABLE;
163        case 16:
164        case "VMEMINFO_NR_PAGE_TABLE_PAGES":
165            return SysVMeminfoType.VMEMINFO_NR_PAGE_TABLE_PAGES;
166        case 17:
167        case "VMEMINFO_NR_KERNEL_STACK":
168            return SysVMeminfoType.VMEMINFO_NR_KERNEL_STACK;
169        case 18:
170        case "VMEMINFO_NR_OVERHEAD":
171            return SysVMeminfoType.VMEMINFO_NR_OVERHEAD;
172        case 19:
173        case "VMEMINFO_NR_UNSTABLE":
174            return SysVMeminfoType.VMEMINFO_NR_UNSTABLE;
175        case 20:
176        case "VMEMINFO_NR_BOUNCE":
177            return SysVMeminfoType.VMEMINFO_NR_BOUNCE;
178        case 21:
179        case "VMEMINFO_NR_VMSCAN_WRITE":
180            return SysVMeminfoType.VMEMINFO_NR_VMSCAN_WRITE;
181        case 22:
182        case "VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM":
183            return SysVMeminfoType.VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM;
184        case 23:
185        case "VMEMINFO_NR_WRITEBACK_TEMP":
186            return SysVMeminfoType.VMEMINFO_NR_WRITEBACK_TEMP;
187        case 24:
188        case "VMEMINFO_NR_ISOLATED_ANON":
189            return SysVMeminfoType.VMEMINFO_NR_ISOLATED_ANON;
190        case 25:
191        case "VMEMINFO_NR_ISOLATED_FILE":
192            return SysVMeminfoType.VMEMINFO_NR_ISOLATED_FILE;
193        case 26:
194        case "VMEMINFO_NR_SHMEM":
195            return SysVMeminfoType.VMEMINFO_NR_SHMEM;
196        case 27:
197        case "VMEMINFO_NR_DIRTIED":
198            return SysVMeminfoType.VMEMINFO_NR_DIRTIED;
199        case 28:
200        case "VMEMINFO_NR_WRITTEN":
201            return SysVMeminfoType.VMEMINFO_NR_WRITTEN;
202        case 29:
203        case "VMEMINFO_NR_PAGES_SCANNED":
204            return SysVMeminfoType.VMEMINFO_NR_PAGES_SCANNED;
205        case 30:
206        case "VMEMINFO_WORKINGSET_REFAULT":
207            return SysVMeminfoType.VMEMINFO_WORKINGSET_REFAULT;
208        case 31:
209        case "VMEMINFO_WORKINGSET_ACTIVATE":
210            return SysVMeminfoType.VMEMINFO_WORKINGSET_ACTIVATE;
211        case 32:
212        case "VMEMINFO_WORKINGSET_NODERECLAIM":
213            return SysVMeminfoType.VMEMINFO_WORKINGSET_NODERECLAIM;
214        case 33:
215        case "VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES":
216            return SysVMeminfoType.VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES;
217        case 34:
218        case "VMEMINFO_NR_FREE_CMA":
219            return SysVMeminfoType.VMEMINFO_NR_FREE_CMA;
220        case 35:
221        case "VMEMINFO_NR_SWAPCACHE":
222            return SysVMeminfoType.VMEMINFO_NR_SWAPCACHE;
223        case 36:
224        case "VMEMINFO_NR_DIRTY_THRESHOLD":
225            return SysVMeminfoType.VMEMINFO_NR_DIRTY_THRESHOLD;
226        case 37:
227        case "VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD":
228            return SysVMeminfoType.VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD;
229        case 38:
230        case "VMEMINFO_PGPGIN":
231            return SysVMeminfoType.VMEMINFO_PGPGIN;
232        case 39:
233        case "VMEMINFO_PGPGOUT":
234            return SysVMeminfoType.VMEMINFO_PGPGOUT;
235        case 40:
236        case "VMEMINFO_PGPGOUTCLEAN":
237            return SysVMeminfoType.VMEMINFO_PGPGOUTCLEAN;
238        case 41:
239        case "VMEMINFO_PSWPIN":
240            return SysVMeminfoType.VMEMINFO_PSWPIN;
241        case 42:
242        case "VMEMINFO_PSWPOUT":
243            return SysVMeminfoType.VMEMINFO_PSWPOUT;
244        case 43:
245        case "VMEMINFO_PGALLOC_DMA":
246            return SysVMeminfoType.VMEMINFO_PGALLOC_DMA;
247        case 44:
248        case "VMEMINFO_PGALLOC_NORMAL":
249            return SysVMeminfoType.VMEMINFO_PGALLOC_NORMAL;
250        case 45:
251        case "VMEMINFO_PGALLOC_MOVABLE":
252            return SysVMeminfoType.VMEMINFO_PGALLOC_MOVABLE;
253        case 46:
254        case "VMEMINFO_PGFREE":
255            return SysVMeminfoType.VMEMINFO_PGFREE;
256        case 47:
257        case "VMEMINFO_PGACTIVATE":
258            return SysVMeminfoType.VMEMINFO_PGACTIVATE;
259        case 48:
260        case "VMEMINFO_PGDEACTIVATE":
261            return SysVMeminfoType.VMEMINFO_PGDEACTIVATE;
262        case 49:
263        case "VMEMINFO_PGFAULT":
264            return SysVMeminfoType.VMEMINFO_PGFAULT;
265        case 50:
266        case "VMEMINFO_PGMAJFAULT":
267            return SysVMeminfoType.VMEMINFO_PGMAJFAULT;
268        case 51:
269        case "VMEMINFO_PGREFILL_DMA":
270            return SysVMeminfoType.VMEMINFO_PGREFILL_DMA;
271        case 52:
272        case "VMEMINFO_PGREFILL_NORMAL":
273            return SysVMeminfoType.VMEMINFO_PGREFILL_NORMAL;
274        case 53:
275        case "VMEMINFO_PGREFILL_MOVABLE":
276            return SysVMeminfoType.VMEMINFO_PGREFILL_MOVABLE;
277        case 54:
278        case "VMEMINFO_PGSTEAL_KSWAPD_DMA":
279            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD_DMA;
280        case 55:
281        case "VMEMINFO_PGSTEAL_KSWAPD_NORMAL":
282            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD_NORMAL;
283        case 56:
284        case "VMEMINFO_PGSTEAL_KSWAPD_MOVABLE":
285            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD_MOVABLE;
286        case 57:
287        case "VMEMINFO_PGSTEAL_DIRECT_DMA":
288            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT_DMA;
289        case 58:
290        case "VMEMINFO_PGSTEAL_DIRECT_NORMAL":
291            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT_NORMAL;
292        case 59:
293        case "VMEMINFO_PGSTEAL_DIRECT_MOVABLE":
294            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT_MOVABLE;
295        case 60:
296        case "VMEMINFO_PGSCAN_KSWAPD_DMA":
297            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD_DMA;
298        case 61:
299        case "VMEMINFO_PGSCAN_KSWAPD_NORMAL":
300            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD_NORMAL;
301        case 62:
302        case "VMEMINFO_PGSCAN_KSWAPD_MOVABLE":
303            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD_MOVABLE;
304        case 63:
305        case "VMEMINFO_PGSCAN_DIRECT_DMA":
306            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_DMA;
307        case 64:
308        case "VMEMINFO_PGSCAN_DIRECT_NORMAL":
309            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_NORMAL;
310        case 65:
311        case "VMEMINFO_PGSCAN_DIRECT_MOVABLE":
312            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_MOVABLE;
313        case 66:
314        case "VMEMINFO_PGSCAN_DIRECT_THROTTLE":
315            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_THROTTLE;
316        case 67:
317        case "VMEMINFO_PGINODESTEAL":
318            return SysVMeminfoType.VMEMINFO_PGINODESTEAL;
319        case 68:
320        case "VMEMINFO_SLABS_SCANNED":
321            return SysVMeminfoType.VMEMINFO_SLABS_SCANNED;
322        case 69:
323        case "VMEMINFO_KSWAPD_INODESTEAL":
324            return SysVMeminfoType.VMEMINFO_KSWAPD_INODESTEAL;
325        case 70:
326        case "VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY":
327            return SysVMeminfoType.VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY;
328        case 71:
329        case "VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY":
330            return SysVMeminfoType.VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY;
331        case 72:
332        case "VMEMINFO_PAGEOUTRUN":
333            return SysVMeminfoType.VMEMINFO_PAGEOUTRUN;
334        case 73:
335        case "VMEMINFO_ALLOCSTALL":
336            return SysVMeminfoType.VMEMINFO_ALLOCSTALL;
337        case 74:
338        case "VMEMINFO_PGROTATED":
339            return SysVMeminfoType.VMEMINFO_PGROTATED;
340        case 75:
341        case "VMEMINFO_DROP_PAGECACHE":
342            return SysVMeminfoType.VMEMINFO_DROP_PAGECACHE;
343        case 76:
344        case "VMEMINFO_DROP_SLAB":
345            return SysVMeminfoType.VMEMINFO_DROP_SLAB;
346        case 77:
347        case "VMEMINFO_PGMIGRATE_SUCCESS":
348            return SysVMeminfoType.VMEMINFO_PGMIGRATE_SUCCESS;
349        case 78:
350        case "VMEMINFO_PGMIGRATE_FAIL":
351            return SysVMeminfoType.VMEMINFO_PGMIGRATE_FAIL;
352        case 79:
353        case "VMEMINFO_COMPACT_MIGRATE_SCANNED":
354            return SysVMeminfoType.VMEMINFO_COMPACT_MIGRATE_SCANNED;
355        case 80:
356        case "VMEMINFO_COMPACT_FREE_SCANNED":
357            return SysVMeminfoType.VMEMINFO_COMPACT_FREE_SCANNED;
358        case 81:
359        case "VMEMINFO_COMPACT_ISOLATED":
360            return SysVMeminfoType.VMEMINFO_COMPACT_ISOLATED;
361        case 82:
362        case "VMEMINFO_COMPACT_STALL":
363            return SysVMeminfoType.VMEMINFO_COMPACT_STALL;
364        case 83:
365        case "VMEMINFO_COMPACT_FAIL":
366            return SysVMeminfoType.VMEMINFO_COMPACT_FAIL;
367        case 84:
368        case "VMEMINFO_COMPACT_SUCCESS":
369            return SysVMeminfoType.VMEMINFO_COMPACT_SUCCESS;
370        case 85:
371        case "VMEMINFO_COMPACT_DAEMON_WAKE":
372            return SysVMeminfoType.VMEMINFO_COMPACT_DAEMON_WAKE;
373        case 86:
374        case "VMEMINFO_UNEVICTABLE_PGS_CULLED":
375            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_CULLED;
376        case 87:
377        case "VMEMINFO_UNEVICTABLE_PGS_SCANNED":
378            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_SCANNED;
379        case 88:
380        case "VMEMINFO_UNEVICTABLE_PGS_RESCUED":
381            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_RESCUED;
382        case 89:
383        case "VMEMINFO_UNEVICTABLE_PGS_MLOCKED":
384            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_MLOCKED;
385        case 90:
386        case "VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED":
387            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED;
388        case 91:
389        case "VMEMINFO_UNEVICTABLE_PGS_CLEARED":
390            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_CLEARED;
391        case 92:
392        case "VMEMINFO_UNEVICTABLE_PGS_STRANDED":
393            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_STRANDED;
394        case 93:
395        case "VMEMINFO_NR_ZSPAGES":
396            return SysVMeminfoType.VMEMINFO_NR_ZSPAGES;
397        case 94:
398        case "VMEMINFO_NR_ION_HEAP":
399            return SysVMeminfoType.VMEMINFO_NR_ION_HEAP;
400        case 95:
401        case "VMEMINFO_NR_GPU_HEAP":
402            return SysVMeminfoType.VMEMINFO_NR_GPU_HEAP;
403        case 96:
404        case "VMEMINFO_ALLOCSTALL_DMA":
405            return SysVMeminfoType.VMEMINFO_ALLOCSTALL_DMA;
406        case 97:
407        case "VMEMINFO_ALLOCSTALL_MOVABLE":
408            return SysVMeminfoType.VMEMINFO_ALLOCSTALL_MOVABLE;
409        case 98:
410        case "VMEMINFO_ALLOCSTALL_NORMAL":
411            return SysVMeminfoType.VMEMINFO_ALLOCSTALL_NORMAL;
412        case 99:
413        case "VMEMINFO_COMPACT_DAEMON_FREE_SCANNED":
414            return SysVMeminfoType.VMEMINFO_COMPACT_DAEMON_FREE_SCANNED;
415        case 100:
416        case "VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED":
417            return SysVMeminfoType.VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED;
418        case 101:
419        case "VMEMINFO_NR_FASTRPC":
420            return SysVMeminfoType.VMEMINFO_NR_FASTRPC;
421        case 102:
422        case "VMEMINFO_NR_INDIRECTLY_RECLAIMABLE":
423            return SysVMeminfoType.VMEMINFO_NR_INDIRECTLY_RECLAIMABLE;
424        case 103:
425        case "VMEMINFO_NR_ION_HEAP_POOL":
426            return SysVMeminfoType.VMEMINFO_NR_ION_HEAP_POOL;
427        case 104:
428        case "VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE":
429            return SysVMeminfoType.VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE;
430        case 105:
431        case "VMEMINFO_NR_SHADOW_CALL_STACK_BYTES":
432            return SysVMeminfoType.VMEMINFO_NR_SHADOW_CALL_STACK_BYTES;
433        case 106:
434        case "VMEMINFO_NR_SHMEM_HUGEPAGES":
435            return SysVMeminfoType.VMEMINFO_NR_SHMEM_HUGEPAGES;
436        case 107:
437        case "VMEMINFO_NR_SHMEM_PMDMAPPED":
438            return SysVMeminfoType.VMEMINFO_NR_SHMEM_PMDMAPPED;
439        case 108:
440        case "VMEMINFO_NR_UNRECLAIMABLE_PAGES":
441            return SysVMeminfoType.VMEMINFO_NR_UNRECLAIMABLE_PAGES;
442        case 109:
443        case "VMEMINFO_NR_ZONE_ACTIVE_ANON":
444            return SysVMeminfoType.VMEMINFO_NR_ZONE_ACTIVE_ANON;
445        case 110:
446        case "VMEMINFO_NR_ZONE_ACTIVE_FILE":
447            return SysVMeminfoType.VMEMINFO_NR_ZONE_ACTIVE_FILE;
448        case 111:
449        case "VMEMINFO_NR_ZONE_INACTIVE_ANON":
450            return SysVMeminfoType.VMEMINFO_NR_ZONE_INACTIVE_ANON;
451        case 112:
452        case "VMEMINFO_NR_ZONE_INACTIVE_FILE":
453            return SysVMeminfoType.VMEMINFO_NR_ZONE_INACTIVE_FILE;
454        case 113:
455        case "VMEMINFO_NR_ZONE_UNEVICTABLE":
456            return SysVMeminfoType.VMEMINFO_NR_ZONE_UNEVICTABLE;
457        case 114:
458        case "VMEMINFO_NR_ZONE_WRITE_PENDING":
459            return SysVMeminfoType.VMEMINFO_NR_ZONE_WRITE_PENDING;
460        case 115:
461        case "VMEMINFO_OOM_KILL":
462            return SysVMeminfoType.VMEMINFO_OOM_KILL;
463        case 116:
464        case "VMEMINFO_PGLAZYFREE":
465            return SysVMeminfoType.VMEMINFO_PGLAZYFREE;
466        case 117:
467        case "VMEMINFO_PGLAZYFREED":
468            return SysVMeminfoType.VMEMINFO_PGLAZYFREED;
469        case 118:
470        case "VMEMINFO_PGREFILL":
471            return SysVMeminfoType.VMEMINFO_PGREFILL;
472        case 119:
473        case "VMEMINFO_PGSCAN_DIRECT":
474            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT;
475        case 120:
476        case "VMEMINFO_PGSCAN_KSWAPD":
477            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD;
478        case 121:
479        case "VMEMINFO_PGSKIP_DMA":
480            return SysVMeminfoType.VMEMINFO_PGSKIP_DMA;
481        case 122:
482        case "VMEMINFO_PGSKIP_MOVABLE":
483            return SysVMeminfoType.VMEMINFO_PGSKIP_MOVABLE;
484        case 123:
485        case "VMEMINFO_PGSKIP_NORMAL":
486            return SysVMeminfoType.VMEMINFO_PGSKIP_NORMAL;
487        case 124:
488        case "VMEMINFO_PGSTEAL_DIRECT":
489            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT;
490        case 125:
491        case "VMEMINFO_PGSTEAL_KSWAPD":
492            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD;
493        case 126:
494        case "VMEMINFO_SWAP_RA":
495            return SysVMeminfoType.VMEMINFO_SWAP_RA;
496        case 127:
497        case "VMEMINFO_SWAP_RA_HIT":
498            return SysVMeminfoType.VMEMINFO_SWAP_RA_HIT;
499        case 128:
500        case "VMEMINFO_WORKINGSET_RESTORE":
501            return SysVMeminfoType.VMEMINFO_WORKINGSET_RESTORE;
502        case -1:
503        case "UNRECOGNIZED":
504        default:
505            return SysVMeminfoType.UNRECOGNIZED;
506    }
507}
508
509export enum SysVMeminfoType {
510    UNRECOGNIZED = "UNRECOGNIZED",
511    VMEMINFO_UNSPECIFIED = "VMEMPLUGIN_UNSPECIFIED",
512    VMEMINFO_NR_FREE_PAGES = "VMEMPLUGIN_NR_FREE_PAGES",
513    VMEMINFO_NR_ALLOC_BATCH = "VMEMPLUGIN_NR_ALLOC_BATCH",
514    VMEMINFO_NR_INACTIVE_ANON = "VMEMPLUGIN_NR_INACTIVE_ANON",
515    VMEMINFO_NR_ACTIVE_ANON = "VMEMPLUGIN_NR_ACTIVE_ANON",
516    VMEMINFO_NR_INACTIVE_FILE = "VMEMPLUGIN_NR_INACTIVE_FILE",
517    VMEMINFO_NR_ACTIVE_FILE = "VMEMPLUGIN_NR_ACTIVE_FILE",
518    VMEMINFO_NR_UNEVICTABLE = "VMEMPLUGIN_NR_UNEVICTABLE",
519    VMEMINFO_NR_MLOCK = "VMEMPLUGIN_NR_MLOCK",
520    VMEMINFO_NR_ANON_PAGES = "VMEMPLUGIN_NR_ANON_PAGES",
521    VMEMINFO_NR_MAPPED = "VMEMPLUGIN_NR_MAPPED",
522    VMEMINFO_NR_FILE_PAGES = "VMEMPLUGIN_NR_FILE_PAGES",
523    VMEMINFO_NR_DIRTY = "VMEMPLUGIN_NR_DIRTY",
524    VMEMINFO_NR_WRITEBACK = "VMEMPLUGIN_NR_WRITEBACK",
525    VMEMINFO_NR_SLAB_RECLAIMABLE = "VMEMPLUGIN_NR_SLAB_RECLAIMABLE",
526    VMEMINFO_NR_SLAB_UNRECLAIMABLE = "VMEMPLUGIN_NR_SLAB_UNRECLAIMABLE",
527    VMEMINFO_NR_PAGE_TABLE_PAGES = "VMEMPLUGIN_NR_PAGE_TABLE_PAGES",
528    VMEMINFO_NR_KERNEL_STACK = "VMEMPLUGIN_NR_KERNEL_STACK",
529    VMEMINFO_NR_OVERHEAD = "VMEMPLUGIN_NR_OVERHEAD",
530    VMEMINFO_NR_UNSTABLE = "VMEMPLUGIN_NR_UNSTABLE",
531    VMEMINFO_NR_BOUNCE = "VMEMPLUGIN_NR_BOUNCE",
532    VMEMINFO_NR_VMSCAN_WRITE = "VMEMPLUGIN_NR_VMSCAN_WRITE",
533    VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM = "VMEMPLUGIN_NR_VMSCAN_IMMEDIATE_RECLAIM",
534    VMEMINFO_NR_WRITEBACK_TEMP = "VMEMPLUGIN_NR_WRITEBACK_TEMP",
535    VMEMINFO_NR_ISOLATED_ANON = "VMEMPLUGIN_NR_ISOLATED_ANON",
536    VMEMINFO_NR_ISOLATED_FILE = "VMEMPLUGIN_NR_ISOLATED_FILE",
537    VMEMINFO_NR_SHMEM = "VMEMPLUGIN_NR_SHMEM",
538    VMEMINFO_NR_DIRTIED = "VMEMPLUGIN_NR_DIRTIED",
539    VMEMINFO_NR_WRITTEN = "VMEMPLUGIN_NR_WRITTEN",
540    VMEMINFO_NR_PAGES_SCANNED = "VMEMPLUGIN_NR_PAGES_SCANNED",
541    VMEMINFO_WORKINGSET_REFAULT = "VMEMPLUGIN_WORKINGSET_REFAULT",
542    VMEMINFO_WORKINGSET_ACTIVATE = "VMEMPLUGIN_WORKINGSET_ACTIVATE",
543    VMEMINFO_WORKINGSET_NODERECLAIM = "VMEMPLUGIN_WORKINGSET_NODERECLAIM",
544    VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES = "VMEMPLUGIN_NR_ANON_TRANSPARENT_HUGEPAGES",
545    VMEMINFO_NR_FREE_CMA = "VMEMPLUGIN_NR_FREE_CMA",
546    VMEMINFO_NR_SWAPCACHE = "VMEMPLUGIN_NR_SWAPCACHE",
547    VMEMINFO_NR_DIRTY_THRESHOLD = "VMEMPLUGIN_NR_DIRTY_THRESHOLD",
548    VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD = "VMEMPLUGIN_NR_DIRTY_BACKGROUND_THRESHOLD",
549    VMEMINFO_PGPGIN = "VMEMPLUGIN_PGPGIN",
550    VMEMINFO_PGPGOUT = "VMEMPLUGIN_PGPGOUT",
551    VMEMINFO_PGPGOUTCLEAN = "VMEMPLUGIN_PGPGOUTCLEAN",
552    VMEMINFO_PSWPIN = "VMEMPLUGIN_PSWPIN",
553    VMEMINFO_PSWPOUT = "VMEMPLUGIN_PSWPOUT",
554    VMEMINFO_PGALLOC_DMA = "VMEMPLUGIN_PGALLOC_DMA",
555    VMEMINFO_PGALLOC_NORMAL = "VMEMPLUGIN_PGALLOC_NORMAL",
556    VMEMINFO_PGALLOC_MOVABLE = "VMEMPLUGIN_PGALLOC_MOVABLE",
557    VMEMINFO_PGFREE = "VMEMPLUGIN_PGFREE",
558    VMEMINFO_PGACTIVATE = "VMEMPLUGIN_PGACTIVATE",
559    VMEMINFO_PGDEACTIVATE = "VMEMPLUGIN_PGDEACTIVATE",
560    VMEMINFO_PGFAULT = "VMEMPLUGIN_PGFAULT",
561    VMEMINFO_PGMAJFAULT = "VMEMPLUGIN_PGMAJFAULT",
562    VMEMINFO_PGREFILL_DMA = "VMEMPLUGIN_PGREFILL_DMA",
563    VMEMINFO_PGREFILL_NORMAL = "VMEMPLUGIN_PGREFILL_NORMAL",
564    VMEMINFO_PGREFILL_MOVABLE = "VMEMPLUGIN_PGREFILL_MOVABLE",
565    VMEMINFO_PGSTEAL_KSWAPD_DMA = "VMEMPLUGIN_PGSTEAL_KSWAPD_DMA",
566    VMEMINFO_PGSTEAL_KSWAPD_NORMAL = "VMEMPLUGIN_PGSTEAL_KSWAPD_NORMAL",
567    VMEMINFO_PGSTEAL_KSWAPD_MOVABLE = "VMEMPLUGIN_PGSTEAL_KSWAPD_MOVABLE",
568    VMEMINFO_PGSTEAL_DIRECT_DMA = "VMEMPLUGIN_PGSTEAL_DIRECT_DMA",
569    VMEMINFO_PGSTEAL_DIRECT_NORMAL = "VMEMPLUGIN_PGSTEAL_DIRECT_NORMAL",
570    VMEMINFO_PGSTEAL_DIRECT_MOVABLE = "VMEMPLUGIN_PGSTEAL_DIRECT_MOVABLE",
571    VMEMINFO_PGSCAN_KSWAPD_DMA = "VMEMPLUGIN_PGSCAN_KSWAPD_DMA",
572    VMEMINFO_PGSCAN_KSWAPD_NORMAL = "VMEMPLUGIN_PGSCAN_KSWAPD_NORMAL",
573    VMEMINFO_PGSCAN_KSWAPD_MOVABLE = "VMEMPLUGIN_PGSCAN_KSWAPD_MOVABLE",
574    VMEMINFO_PGSCAN_DIRECT_DMA = "VMEMPLUGIN_PGSCAN_DIRECT_DMA",
575    VMEMINFO_PGSCAN_DIRECT_NORMAL = "VMEMPLUGIN_PGSCAN_DIRECT_NORMAL",
576    VMEMINFO_PGSCAN_DIRECT_MOVABLE = "VMEMPLUGIN_PGSCAN_DIRECT_MOVABLE",
577    VMEMINFO_PGSCAN_DIRECT_THROTTLE = "VMEMPLUGIN_PGSCAN_DIRECT_THROTTLE",
578    VMEMINFO_PGINODESTEAL = "VMEMPLUGIN_PGINODESTEAL",
579    VMEMINFO_SLABS_SCANNED = "VMEMPLUGIN_SLABS_SCANNED",
580    VMEMINFO_KSWAPD_INODESTEAL = "VMEMPLUGIN_KSWAPD_INODESTEAL",
581    VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY = "VMEMPLUGIN_KSWAPD_LOW_WMARK_HIT_QUICKLY",
582    VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY = "VMEMPLUGIN_KSWAPD_HIGH_WMARK_HIT_QUICKLY",
583    VMEMINFO_PAGEOUTRUN = "VMEMPLUGIN_PAGEOUTRUN",
584    VMEMINFO_ALLOCSTALL = "VMEMPLUGIN_ALLOCSTALL",
585    VMEMINFO_PGROTATED = "VMEMPLUGIN_PGROTATED",
586    VMEMINFO_DROP_PAGECACHE = "VMEMPLUGIN_DROP_PAGECACHE",
587    VMEMINFO_DROP_SLAB = "VMEMPLUGIN_DROP_SLAB",
588    VMEMINFO_PGMIGRATE_SUCCESS = "VMEMPLUGIN_PGMIGRATE_SUCCESS",
589    VMEMINFO_PGMIGRATE_FAIL = "VMEMPLUGIN_PGMIGRATE_FAIL",
590    VMEMINFO_COMPACT_MIGRATE_SCANNED = "VMEMPLUGIN_COMPACT_MIGRATE_SCANNED",
591    VMEMINFO_COMPACT_FREE_SCANNED = "VMEMPLUGIN_COMPACT_FREE_SCANNED",
592    VMEMINFO_COMPACT_ISOLATED = "VMEMPLUGIN_COMPACT_ISOLATED",
593    VMEMINFO_COMPACT_STALL = "VMEMPLUGIN_COMPACT_STALL",
594    VMEMINFO_COMPACT_FAIL = "VMEMPLUGIN_COMPACT_FAIL",
595    VMEMINFO_COMPACT_SUCCESS = "VMEMPLUGIN_COMPACT_SUCCESS",
596    VMEMINFO_COMPACT_DAEMON_WAKE = "VMEMPLUGIN_COMPACT_DAEMON_WAKE",
597    VMEMINFO_UNEVICTABLE_PGS_CULLED = "VMEMPLUGIN_UNEVICTABLE_PGS_CULLED",
598    VMEMINFO_UNEVICTABLE_PGS_SCANNED = "VMEMPLUGIN_UNEVICTABLE_PGS_SCANNED ",
599    VMEMINFO_UNEVICTABLE_PGS_RESCUED = "VMEMPLUGIN_UNEVICTABLE_PGS_RESCUED",
600    VMEMINFO_UNEVICTABLE_PGS_MLOCKED = "VMEMPLUGIN_UNEVICTABLE_PGS_MLOCKED",
601    VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED = "VMEMPLUGIN_UNEVICTABLE_PGS_MUNLOCKED",
602    VMEMINFO_UNEVICTABLE_PGS_CLEARED = "VMEMPLUGIN_UNEVICTABLE_PGS_CLEARED",
603    VMEMINFO_UNEVICTABLE_PGS_STRANDED = "VMEMPLUGIN_UNEVICTABLE_PGS_STRANDED",
604    VMEMINFO_NR_ZSPAGES = "VMEMPLUGIN_NR_ZSPAGES",
605    VMEMINFO_NR_ION_HEAP = "VMEMPLUGIN_NR_ION_HEAP",
606    VMEMINFO_NR_GPU_HEAP = "VMEMPLUGIN_NR_GPU_HEAP",
607    VMEMINFO_ALLOCSTALL_DMA = "VMEMPLUGIN_ALLOCSTALL_DMA",
608    VMEMINFO_ALLOCSTALL_MOVABLE = "VMEMPLUGIN_ALLOCSTALL_MOVABLE",
609    VMEMINFO_ALLOCSTALL_NORMAL = "VMEMPLUGIN_ALLOCSTALL_NORMAL",
610    VMEMINFO_COMPACT_DAEMON_FREE_SCANNED = "VMEMPLUGIN_COMPACT_DAEMON_FREE_SCANNED",
611    VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED = "VMEMPLUGIN_COMPACT_DAEMON_MIGRATE_SCANNED",
612    VMEMINFO_NR_FASTRPC = "VMEMPLUGIN_NR_FASTRPC",
613    VMEMINFO_NR_INDIRECTLY_RECLAIMABLE = "VMEMPLUGIN_NR_INDIRECTLY_RECLAIMABLE",
614    VMEMINFO_NR_ION_HEAP_POOL = "VMEMPLUGIN_NR_ION_HEAP_POOL",
615    VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE = "VMEMPLUGIN_NR_KERNEL_MISC_RECLAIMABLE",
616    VMEMINFO_NR_SHADOW_CALL_STACK_BYTES = "VMEMPLUGIN_NR_SHADOW_CALL_STACK_BYTES",
617    VMEMINFO_NR_SHMEM_HUGEPAGES = "VMEMPLUGIN_NR_SHMEM_HUGEPAGES",
618    VMEMINFO_NR_SHMEM_PMDMAPPED = "VMEMPLUGIN_NR_SHMEM_PMDMAPPED",
619    VMEMINFO_NR_UNRECLAIMABLE_PAGES = "VMEMPLUGIN_NR_UNRECLAIMABLE_PAGES",
620    VMEMINFO_NR_ZONE_ACTIVE_ANON = "VMEMPLUGIN_NR_ZONE_ACTIVE_ANON",
621    VMEMINFO_NR_ZONE_ACTIVE_FILE = "VMEMPLUGIN_NR_ZONE_ACTIVE_FILE",
622    VMEMINFO_NR_ZONE_INACTIVE_ANON = "VMEMPLUGIN_NR_ZONE_INACTIVE_ANON",
623    VMEMINFO_NR_ZONE_INACTIVE_FILE = "VMEMPLUGIN_NR_ZONE_INACTIVE_FILE",
624    VMEMINFO_NR_ZONE_UNEVICTABLE = "VMEMPLUGIN_NR_ZONE_UNEVICTABLE",
625    VMEMINFO_NR_ZONE_WRITE_PENDING = "VMEMPLUGIN_NR_ZONE_WRITE_PENDING",
626    VMEMINFO_OOM_KILL = "VMEMPLUGIN_OOM_KILL ",
627    VMEMINFO_PGLAZYFREE = "VMEMPLUGIN_PGLAZYFREE",
628    VMEMINFO_PGLAZYFREED = "VMEMPLUGIN_PGLAZYFREED",
629    VMEMINFO_PGREFILL = "VMEMPLUGIN_PGREFILL",
630    VMEMINFO_PGSCAN_DIRECT = "VMEMPLUGIN_PGSCAN_DIRECT",
631    VMEMINFO_PGSCAN_KSWAPD = "VMEMPLUGIN_PGSCAN_KSWAPD",
632    VMEMINFO_PGSKIP_DMA = "VMEMPLUGIN_PGSKIP_DMA",
633    VMEMINFO_PGSKIP_MOVABLE = "VMEMPLUGIN_PGSKIP_MOVABLE",
634    VMEMINFO_PGSKIP_NORMAL = "VMEMPLUGIN_PGSKIP_NORMAL",
635    VMEMINFO_PGSTEAL_DIRECT = "VMEMPLUGIN_PGSTEAL_DIRECT",
636    VMEMINFO_PGSTEAL_KSWAPD = "VMEMPLUGIN_PGSTEAL_KSWAPD",
637    VMEMINFO_SWAP_RA = "VMEMPLUGIN_SWAP_RA",
638    VMEMINFO_SWAP_RA_HIT = "VMEMPLUGIN_SWAP_RA_HIT",
639    VMEMINFO_WORKINGSET_RESTORE = "VMEMPLUGIN_WORKINGSET_RESTORE",
640}
641
642export enum SysMeminfoType {
643    MEMINFO_UNSPECIFIED = "MEMPLUGIN_UNSPECIFIED",
644    MEMINFO_MEM_TOTAL = "MEMPLUGIN_MEM_TOTAL",
645    MEMINFO_MEM_FREE = "MEMPLUGIN_MEM_FREE",
646    MEMINFO_MEM_AVAILABLE = "MEMPLUGIN_MEM_AVAILABLE",
647    MEMINFO_BUFFERS = "MEMPLUGIN_BUFFERS",
648    MEMINFO_CACHED = "MEMPLUGIN_CACHED",
649    MEMINFO_SWAP_CACHED = "MEMPLUGIN_SWAP_CACHED",
650    MEMINFO_ACTIVE = "MEMPLUGIN_ACTIVE",
651    MEMINFO_INACTIVE = "MEMPLUGIN_INACTIVE",
652    MEMINFO_ACTIVE_ANON = "MEMPLUGIN_ACTIVE_ANON",
653    MEMINFO_INACTIVE_ANON = "MEMPLUGIN_INACTIVE_ANON",
654    MEMINFO_ACTIVE_FILE = "MEMPLUGIN_ACTIVE_FILE",
655    MEMINFO_INACTIVE_FILE = "MEMPLUGIN_INACTIVE_FILE",
656    MEMINFO_UNEVICTABLE = "MEMPLUGIN_UNEVICTABLE",
657    MEMINFO_MLOCKED = "MEMPLUGIN_MLOCKED",
658    MEMINFO_SWAP_TOTAL = "MEMPLUGIN_SWAP_TOTAL",
659    MEMINFO_SWAP_FREE = "MEMPLUGIN_SWAP_FREE",
660    MEMINFO_DIRTY = "MEMPLUGIN_DIRTY",
661    MEMINFO_WRITEBACK = "MEMPLUGIN_WRITEBACK",
662    MEMINFO_ANON_PAGES = "MEMPLUGIN_ANON_PAGES",
663    MEMINFO_MAPPED = "MEMPLUGIN_MAPPED",
664    MEMINFO_SHMEM = "MEMPLUGIN_SHMEM",
665    MEMINFO_SLAB = "MEMPLUGIN_SLAB",
666    MEMINFO_SLAB_RECLAIMABLE = "MEMPLUGIN_SLAB_RECLAIMABLE",
667    MEMINFO_SLAB_UNRECLAIMABLE = "MEMPLUGIN_SLAB_UNRECLAIMABLE",
668    MEMINFO_KERNEL_STACK = "MEMPLUGIN_KERNEL_STACK",
669    MEMINFO_PAGE_TABLES = "MEMPLUGIN_PAGE_TABLES",
670    MEMINFO_COMMIT_LIMIT = "MEMPLUGIN_COMMIT_LIMIT",
671    MEMINFO_COMMITED_AS = "MEMPLUGIN_COMMITED_AS",
672    MEMINFO_VMALLOC_TOTAL = "MEMPLUGIN_VMALLOC_TOTAL",
673    MEMINFO_VMALLOC_USED = "MEMPLUGIN_VMALLOC_USED",
674    MEMINFO_VMALLOC_CHUNK = "MEMPLUGIN_VMALLOC_CHUNK",
675    MEMINFO_CMA_TOTAL = "MEMPLUGIN_CMA_TOTAL",
676    MEMINFO_CMA_FREE = "MEMPLUGIN_CMA_FREE",
677    UNRECOGNIZED = "UNRECOGNIZED",
678}
679
680export function sysMeminfoTypeFromJSON(object: any): SysMeminfoType {
681    switch (object) {
682        case 0:
683        case "MEMINFO_UNSPECIFIED":
684            return SysMeminfoType.MEMINFO_UNSPECIFIED;
685        case 1:
686        case "MEMINFO_MEM_TOTAL":
687            return SysMeminfoType.MEMINFO_MEM_TOTAL;
688        case 2:
689        case "MEMINFO_MEM_FREE":
690            return SysMeminfoType.MEMINFO_MEM_FREE;
691        case 3:
692        case "MEMINFO_MEM_AVAILABLE":
693            return SysMeminfoType.MEMINFO_MEM_AVAILABLE;
694        case 4:
695        case "MEMINFO_BUFFERS":
696            return SysMeminfoType.MEMINFO_BUFFERS;
697        case 5:
698        case "MEMINFO_CACHED":
699            return SysMeminfoType.MEMINFO_CACHED;
700        case 6:
701        case "MEMINFO_SWAP_CACHED":
702            return SysMeminfoType.MEMINFO_SWAP_CACHED;
703        case 7:
704        case "MEMINFO_ACTIVE":
705            return SysMeminfoType.MEMINFO_ACTIVE;
706        case 8:
707        case "MEMINFO_INACTIVE":
708            return SysMeminfoType.MEMINFO_INACTIVE;
709        case 9:
710        case "MEMINFO_ACTIVE_ANON":
711            return SysMeminfoType.MEMINFO_ACTIVE_ANON;
712        case 10:
713        case "MEMINFO_INACTIVE_ANON":
714            return SysMeminfoType.MEMINFO_INACTIVE_ANON;
715        case 11:
716        case "MEMINFO_ACTIVE_FILE":
717            return SysMeminfoType.MEMINFO_ACTIVE_FILE;
718        case 12:
719        case "MEMINFO_INACTIVE_FILE":
720            return SysMeminfoType.MEMINFO_INACTIVE_FILE;
721        case 13:
722        case "MEMINFO_UNEVICTABLE":
723            return SysMeminfoType.MEMINFO_UNEVICTABLE;
724        case 14:
725        case "MEMINFO_MLOCKED":
726            return SysMeminfoType.MEMINFO_MLOCKED;
727        case 15:
728        case "MEMINFO_SWAP_TOTAL":
729            return SysMeminfoType.MEMINFO_SWAP_TOTAL;
730        case 16:
731        case "MEMINFO_SWAP_FREE":
732            return SysMeminfoType.MEMINFO_SWAP_FREE;
733        case 17:
734        case "MEMINFO_DIRTY":
735            return SysMeminfoType.MEMINFO_DIRTY;
736        case 18:
737        case "MEMINFO_WRITEBACK":
738            return SysMeminfoType.MEMINFO_WRITEBACK;
739        case 19:
740        case "MEMINFO_ANON_PAGES":
741            return SysMeminfoType.MEMINFO_ANON_PAGES;
742        case 20:
743        case "MEMINFO_MAPPED":
744            return SysMeminfoType.MEMINFO_MAPPED;
745        case 21:
746        case "MEMINFO_SHMEM":
747            return SysMeminfoType.MEMINFO_SHMEM;
748        case 22:
749        case "MEMINFO_SLAB":
750            return SysMeminfoType.MEMINFO_SLAB;
751        case 23:
752        case "MEMINFO_SLAB_RECLAIMABLE":
753            return SysMeminfoType.MEMINFO_SLAB_RECLAIMABLE;
754        case 24:
755        case "MEMINFO_SLAB_UNRECLAIMABLE":
756            return SysMeminfoType.MEMINFO_SLAB_UNRECLAIMABLE;
757        case 25:
758        case "MEMINFO_KERNEL_STACK":
759            return SysMeminfoType.MEMINFO_KERNEL_STACK;
760        case 26:
761        case "MEMINFO_PAGE_TABLES":
762            return SysMeminfoType.MEMINFO_PAGE_TABLES;
763        case 27:
764        case "MEMINFO_COMMIT_LIMIT":
765            return SysMeminfoType.MEMINFO_COMMIT_LIMIT;
766        case 28:
767        case "MEMINFO_COMMITED_AS":
768            return SysMeminfoType.MEMINFO_COMMITED_AS;
769        case 29:
770        case "MEMINFO_VMALLOC_TOTAL":
771            return SysMeminfoType.MEMINFO_VMALLOC_TOTAL;
772        case 30:
773        case "MEMINFO_VMALLOC_USED":
774            return SysMeminfoType.MEMINFO_VMALLOC_USED;
775        case 31:
776        case "MEMINFO_VMALLOC_CHUNK":
777            return SysMeminfoType.MEMINFO_VMALLOC_CHUNK;
778        case 32:
779        case "MEMINFO_CMA_TOTAL":
780            return SysMeminfoType.MEMINFO_CMA_TOTAL;
781        case 33:
782        case "MEMINFO_CMA_FREE":
783            return SysMeminfoType.MEMINFO_CMA_FREE;
784        case -1:
785        case "UNRECOGNIZED":
786        default:
787            return SysMeminfoType.UNRECOGNIZED;
788    }
789}
790
791export enum Type {
792    TYPE_UNSPECIFIED = 0,
793    HI3516 = 1,
794    P40 = 2,
795    UNRECOGNIZED = -1,
796}
797
798export interface HilogConfig {
799    deviceType: Type;
800    logLevel: Level;
801    needClear: boolean;
802}
803
804export function levelFromJSON(object: any): Level {
805    switch (object) {
806        case 0:
807        case "LEVEL_UNSPECIFIED":
808            return Level.LOG_UNSPECIFIED;
809        case 1:
810        case "Error":
811            return Level.LOG_ERROR;
812        case 2:
813        case "Info":
814            return Level.LOG_INFO;
815        case 3:
816        case "Debug":
817            return Level.LOG_DEBUG;
818        case 4:
819        case "Warns":
820            return Level.LOG_WARN;
821        case -1:
822        case "UNRECOGNIZED":
823        default:
824            return Level.UNRECOGNIZED;
825    }
826}
827
828export enum Level {
829    LOG_UNSPECIFIED = "LOG_UNSPECIFIED",
830    LOG_ERROR = "LOG_ERROR",
831    LOG_INFO = "LOG_INFO",
832    LOG_DEBUG = "LOG_DEBUG",
833    LOG_WARN = "LOG_WARN",
834    UNRECOGNIZED = -1,
835}
836
837export interface NativeHookConfig {
838    pid: number,
839    saveFile: boolean,
840    fileName: string,
841    filterSize: number,
842    smbPages: number,
843    maxStackDepth: number
844    processName: string
845}
846
847export interface FpsConfig {
848    reportFps: boolean;
849}
850