• 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    hitraceTime: number;
74}
75
76export interface CreateSessionRequest {
77    requestId: number;
78    sessionConfig: ProfilerSessionConfig | undefined;
79    pluginConfigs: ProfilerPluginConfig<any>[];
80}
81
82export interface ProfilerPluginConfig<T> {
83    pluginName: string;
84    sampleInterval: number;
85    configData: T;
86}
87
88export interface FileSystemConfig {
89    cmdLine: string;
90    outfileName: string;
91}
92
93export interface MemoryConfig {
94    /** set true to report process list */
95    reportProcessTree: boolean;
96    /** set true to report memory counter from /proc/meminfo */
97    reportSysmemMemInfo: boolean;
98    /** set required counter list of system meminfo, eg:MemTotal, MemFree, etc. */
99    sysMeminfoCounters: SysMeminfoType[];
100    /** set true to report memory counter from /proc/vmstat */
101    reportSysmemVmemInfo: boolean;
102    /** set required counter list of virtual system meminfo, eg:nr_free_pages, nr_anon_pages, etc. */
103    sysVmeminfoCounters: SysVMeminfoType[];
104    /** set true to report process meminfo from /proc/${pid}/stat */
105    reportProcessMemInfo: boolean;
106    /** set true to report application memory usage summary, eg:java heap memory, native heap, stack memory, etc. */
107    reportAppMemInfo: boolean;
108    /**
109     * set true to report application memory by memory service, otherwise,
110     * application memory will count up by /proc/${pid}/smaps information
111     */
112    reportAppMemByMemoryService: boolean;
113    /** set required pid list */
114    pid: number[];
115    /** set true to report smaps meminfo from /proc/${pid}/smaps */
116    reportSmapsMemInfo?: boolean;
117}
118
119
120export function sysVMeminfoTypeFromJSON(object: any): SysVMeminfoType {
121    switch (object) {
122        case 0:
123        case "VMEMINFO_UNSPECIFIED":
124            return SysVMeminfoType.VMEMINFO_UNSPECIFIED;
125        case 1:
126        case "VMEMINFO_NR_FREE_PAGES":
127            return SysVMeminfoType.VMEMINFO_NR_FREE_PAGES;
128        case 2:
129        case "VMEMINFO_NR_ALLOC_BATCH":
130            return SysVMeminfoType.VMEMINFO_NR_ALLOC_BATCH;
131        case 3:
132        case "VMEMINFO_NR_INACTIVE_ANON":
133            return SysVMeminfoType.VMEMINFO_NR_INACTIVE_ANON;
134        case 4:
135        case "VMEMINFO_NR_ACTIVE_ANON":
136            return SysVMeminfoType.VMEMINFO_NR_ACTIVE_ANON;
137        case 5:
138        case "VMEMINFO_NR_INACTIVE_FILE":
139            return SysVMeminfoType.VMEMINFO_NR_INACTIVE_FILE;
140        case 6:
141        case "VMEMINFO_NR_ACTIVE_FILE":
142            return SysVMeminfoType.VMEMINFO_NR_ACTIVE_FILE;
143        case 7:
144        case "VMEMINFO_NR_UNEVICTABLE":
145            return SysVMeminfoType.VMEMINFO_NR_UNEVICTABLE;
146        case 8:
147        case "VMEMINFO_NR_MLOCK":
148            return SysVMeminfoType.VMEMINFO_NR_MLOCK;
149        case 9:
150        case "VMEMINFO_NR_ANON_PAGES":
151            return SysVMeminfoType.VMEMINFO_NR_ANON_PAGES;
152        case 10:
153        case "VMEMINFO_NR_MAPPED":
154            return SysVMeminfoType.VMEMINFO_NR_MAPPED;
155        case 11:
156        case "VMEMINFO_NR_FILE_PAGES":
157            return SysVMeminfoType.VMEMINFO_NR_FILE_PAGES;
158        case 12:
159        case "VMEMINFO_NR_DIRTY":
160            return SysVMeminfoType.VMEMINFO_NR_DIRTY;
161        case 13:
162        case "VMEMINFO_NR_WRITEBACK":
163            return SysVMeminfoType.VMEMINFO_NR_WRITEBACK;
164        case 14:
165        case "VMEMINFO_NR_SLAB_RECLAIMABLE":
166            return SysVMeminfoType.VMEMINFO_NR_SLAB_RECLAIMABLE;
167        case 15:
168        case "VMEMINFO_NR_SLAB_UNRECLAIMABLE":
169            return SysVMeminfoType.VMEMINFO_NR_SLAB_UNRECLAIMABLE;
170        case 16:
171        case "VMEMINFO_NR_PAGE_TABLE_PAGES":
172            return SysVMeminfoType.VMEMINFO_NR_PAGE_TABLE_PAGES;
173        case 17:
174        case "VMEMINFO_NR_KERNEL_STACK":
175            return SysVMeminfoType.VMEMINFO_NR_KERNEL_STACK;
176        case 18:
177        case "VMEMINFO_NR_OVERHEAD":
178            return SysVMeminfoType.VMEMINFO_NR_OVERHEAD;
179        case 19:
180        case "VMEMINFO_NR_UNSTABLE":
181            return SysVMeminfoType.VMEMINFO_NR_UNSTABLE;
182        case 20:
183        case "VMEMINFO_NR_BOUNCE":
184            return SysVMeminfoType.VMEMINFO_NR_BOUNCE;
185        case 21:
186        case "VMEMINFO_NR_VMSCAN_WRITE":
187            return SysVMeminfoType.VMEMINFO_NR_VMSCAN_WRITE;
188        case 22:
189        case "VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM":
190            return SysVMeminfoType.VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM;
191        case 23:
192        case "VMEMINFO_NR_WRITEBACK_TEMP":
193            return SysVMeminfoType.VMEMINFO_NR_WRITEBACK_TEMP;
194        case 24:
195        case "VMEMINFO_NR_ISOLATED_ANON":
196            return SysVMeminfoType.VMEMINFO_NR_ISOLATED_ANON;
197        case 25:
198        case "VMEMINFO_NR_ISOLATED_FILE":
199            return SysVMeminfoType.VMEMINFO_NR_ISOLATED_FILE;
200        case 26:
201        case "VMEMINFO_NR_SHMEM":
202            return SysVMeminfoType.VMEMINFO_NR_SHMEM;
203        case 27:
204        case "VMEMINFO_NR_DIRTIED":
205            return SysVMeminfoType.VMEMINFO_NR_DIRTIED;
206        case 28:
207        case "VMEMINFO_NR_WRITTEN":
208            return SysVMeminfoType.VMEMINFO_NR_WRITTEN;
209        case 29:
210        case "VMEMINFO_NR_PAGES_SCANNED":
211            return SysVMeminfoType.VMEMINFO_NR_PAGES_SCANNED;
212        case 30:
213        case "VMEMINFO_WORKINGSET_REFAULT":
214            return SysVMeminfoType.VMEMINFO_WORKINGSET_REFAULT;
215        case 31:
216        case "VMEMINFO_WORKINGSET_ACTIVATE":
217            return SysVMeminfoType.VMEMINFO_WORKINGSET_ACTIVATE;
218        case 32:
219        case "VMEMINFO_WORKINGSET_NODERECLAIM":
220            return SysVMeminfoType.VMEMINFO_WORKINGSET_NODERECLAIM;
221        case 33:
222        case "VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES":
223            return SysVMeminfoType.VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES;
224        case 34:
225        case "VMEMINFO_NR_FREE_CMA":
226            return SysVMeminfoType.VMEMINFO_NR_FREE_CMA;
227        case 35:
228        case "VMEMINFO_NR_SWAPCACHE":
229            return SysVMeminfoType.VMEMINFO_NR_SWAPCACHE;
230        case 36:
231        case "VMEMINFO_NR_DIRTY_THRESHOLD":
232            return SysVMeminfoType.VMEMINFO_NR_DIRTY_THRESHOLD;
233        case 37:
234        case "VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD":
235            return SysVMeminfoType.VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD;
236        case 38:
237        case "VMEMINFO_PGPGIN":
238            return SysVMeminfoType.VMEMINFO_PGPGIN;
239        case 39:
240        case "VMEMINFO_PGPGOUT":
241            return SysVMeminfoType.VMEMINFO_PGPGOUT;
242        case 40:
243        case "VMEMINFO_PGPGOUTCLEAN":
244            return SysVMeminfoType.VMEMINFO_PGPGOUTCLEAN;
245        case 41:
246        case "VMEMINFO_PSWPIN":
247            return SysVMeminfoType.VMEMINFO_PSWPIN;
248        case 42:
249        case "VMEMINFO_PSWPOUT":
250            return SysVMeminfoType.VMEMINFO_PSWPOUT;
251        case 43:
252        case "VMEMINFO_PGALLOC_DMA":
253            return SysVMeminfoType.VMEMINFO_PGALLOC_DMA;
254        case 44:
255        case "VMEMINFO_PGALLOC_NORMAL":
256            return SysVMeminfoType.VMEMINFO_PGALLOC_NORMAL;
257        case 45:
258        case "VMEMINFO_PGALLOC_MOVABLE":
259            return SysVMeminfoType.VMEMINFO_PGALLOC_MOVABLE;
260        case 46:
261        case "VMEMINFO_PGFREE":
262            return SysVMeminfoType.VMEMINFO_PGFREE;
263        case 47:
264        case "VMEMINFO_PGACTIVATE":
265            return SysVMeminfoType.VMEMINFO_PGACTIVATE;
266        case 48:
267        case "VMEMINFO_PGDEACTIVATE":
268            return SysVMeminfoType.VMEMINFO_PGDEACTIVATE;
269        case 49:
270        case "VMEMINFO_PGFAULT":
271            return SysVMeminfoType.VMEMINFO_PGFAULT;
272        case 50:
273        case "VMEMINFO_PGMAJFAULT":
274            return SysVMeminfoType.VMEMINFO_PGMAJFAULT;
275        case 51:
276        case "VMEMINFO_PGREFILL_DMA":
277            return SysVMeminfoType.VMEMINFO_PGREFILL_DMA;
278        case 52:
279        case "VMEMINFO_PGREFILL_NORMAL":
280            return SysVMeminfoType.VMEMINFO_PGREFILL_NORMAL;
281        case 53:
282        case "VMEMINFO_PGREFILL_MOVABLE":
283            return SysVMeminfoType.VMEMINFO_PGREFILL_MOVABLE;
284        case 54:
285        case "VMEMINFO_PGSTEAL_KSWAPD_DMA":
286            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD_DMA;
287        case 55:
288        case "VMEMINFO_PGSTEAL_KSWAPD_NORMAL":
289            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD_NORMAL;
290        case 56:
291        case "VMEMINFO_PGSTEAL_KSWAPD_MOVABLE":
292            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD_MOVABLE;
293        case 57:
294        case "VMEMINFO_PGSTEAL_DIRECT_DMA":
295            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT_DMA;
296        case 58:
297        case "VMEMINFO_PGSTEAL_DIRECT_NORMAL":
298            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT_NORMAL;
299        case 59:
300        case "VMEMINFO_PGSTEAL_DIRECT_MOVABLE":
301            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT_MOVABLE;
302        case 60:
303        case "VMEMINFO_PGSCAN_KSWAPD_DMA":
304            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD_DMA;
305        case 61:
306        case "VMEMINFO_PGSCAN_KSWAPD_NORMAL":
307            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD_NORMAL;
308        case 62:
309        case "VMEMINFO_PGSCAN_KSWAPD_MOVABLE":
310            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD_MOVABLE;
311        case 63:
312        case "VMEMINFO_PGSCAN_DIRECT_DMA":
313            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_DMA;
314        case 64:
315        case "VMEMINFO_PGSCAN_DIRECT_NORMAL":
316            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_NORMAL;
317        case 65:
318        case "VMEMINFO_PGSCAN_DIRECT_MOVABLE":
319            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_MOVABLE;
320        case 66:
321        case "VMEMINFO_PGSCAN_DIRECT_THROTTLE":
322            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT_THROTTLE;
323        case 67:
324        case "VMEMINFO_PGINODESTEAL":
325            return SysVMeminfoType.VMEMINFO_PGINODESTEAL;
326        case 68:
327        case "VMEMINFO_SLABS_SCANNED":
328            return SysVMeminfoType.VMEMINFO_SLABS_SCANNED;
329        case 69:
330        case "VMEMINFO_KSWAPD_INODESTEAL":
331            return SysVMeminfoType.VMEMINFO_KSWAPD_INODESTEAL;
332        case 70:
333        case "VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY":
334            return SysVMeminfoType.VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY;
335        case 71:
336        case "VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY":
337            return SysVMeminfoType.VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY;
338        case 72:
339        case "VMEMINFO_PAGEOUTRUN":
340            return SysVMeminfoType.VMEMINFO_PAGEOUTRUN;
341        case 73:
342        case "VMEMINFO_ALLOCSTALL":
343            return SysVMeminfoType.VMEMINFO_ALLOCSTALL;
344        case 74:
345        case "VMEMINFO_PGROTATED":
346            return SysVMeminfoType.VMEMINFO_PGROTATED;
347        case 75:
348        case "VMEMINFO_DROP_PAGECACHE":
349            return SysVMeminfoType.VMEMINFO_DROP_PAGECACHE;
350        case 76:
351        case "VMEMINFO_DROP_SLAB":
352            return SysVMeminfoType.VMEMINFO_DROP_SLAB;
353        case 77:
354        case "VMEMINFO_PGMIGRATE_SUCCESS":
355            return SysVMeminfoType.VMEMINFO_PGMIGRATE_SUCCESS;
356        case 78:
357        case "VMEMINFO_PGMIGRATE_FAIL":
358            return SysVMeminfoType.VMEMINFO_PGMIGRATE_FAIL;
359        case 79:
360        case "VMEMINFO_COMPACT_MIGRATE_SCANNED":
361            return SysVMeminfoType.VMEMINFO_COMPACT_MIGRATE_SCANNED;
362        case 80:
363        case "VMEMINFO_COMPACT_FREE_SCANNED":
364            return SysVMeminfoType.VMEMINFO_COMPACT_FREE_SCANNED;
365        case 81:
366        case "VMEMINFO_COMPACT_ISOLATED":
367            return SysVMeminfoType.VMEMINFO_COMPACT_ISOLATED;
368        case 82:
369        case "VMEMINFO_COMPACT_STALL":
370            return SysVMeminfoType.VMEMINFO_COMPACT_STALL;
371        case 83:
372        case "VMEMINFO_COMPACT_FAIL":
373            return SysVMeminfoType.VMEMINFO_COMPACT_FAIL;
374        case 84:
375        case "VMEMINFO_COMPACT_SUCCESS":
376            return SysVMeminfoType.VMEMINFO_COMPACT_SUCCESS;
377        case 85:
378        case "VMEMINFO_COMPACT_DAEMON_WAKE":
379            return SysVMeminfoType.VMEMINFO_COMPACT_DAEMON_WAKE;
380        case 86:
381        case "VMEMINFO_UNEVICTABLE_PGS_CULLED":
382            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_CULLED;
383        case 87:
384        case "VMEMINFO_UNEVICTABLE_PGS_SCANNED":
385            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_SCANNED;
386        case 88:
387        case "VMEMINFO_UNEVICTABLE_PGS_RESCUED":
388            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_RESCUED;
389        case 89:
390        case "VMEMINFO_UNEVICTABLE_PGS_MLOCKED":
391            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_MLOCKED;
392        case 90:
393        case "VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED":
394            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED;
395        case 91:
396        case "VMEMINFO_UNEVICTABLE_PGS_CLEARED":
397            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_CLEARED;
398        case 92:
399        case "VMEMINFO_UNEVICTABLE_PGS_STRANDED":
400            return SysVMeminfoType.VMEMINFO_UNEVICTABLE_PGS_STRANDED;
401        case 93:
402        case "VMEMINFO_NR_ZSPAGES":
403            return SysVMeminfoType.VMEMINFO_NR_ZSPAGES;
404        case 94:
405        case "VMEMINFO_NR_ION_HEAP":
406            return SysVMeminfoType.VMEMINFO_NR_ION_HEAP;
407        case 95:
408        case "VMEMINFO_NR_GPU_HEAP":
409            return SysVMeminfoType.VMEMINFO_NR_GPU_HEAP;
410        case 96:
411        case "VMEMINFO_ALLOCSTALL_DMA":
412            return SysVMeminfoType.VMEMINFO_ALLOCSTALL_DMA;
413        case 97:
414        case "VMEMINFO_ALLOCSTALL_MOVABLE":
415            return SysVMeminfoType.VMEMINFO_ALLOCSTALL_MOVABLE;
416        case 98:
417        case "VMEMINFO_ALLOCSTALL_NORMAL":
418            return SysVMeminfoType.VMEMINFO_ALLOCSTALL_NORMAL;
419        case 99:
420        case "VMEMINFO_COMPACT_DAEMON_FREE_SCANNED":
421            return SysVMeminfoType.VMEMINFO_COMPACT_DAEMON_FREE_SCANNED;
422        case 100:
423        case "VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED":
424            return SysVMeminfoType.VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED;
425        case 101:
426        case "VMEMINFO_NR_FASTRPC":
427            return SysVMeminfoType.VMEMINFO_NR_FASTRPC;
428        case 102:
429        case "VMEMINFO_NR_INDIRECTLY_RECLAIMABLE":
430            return SysVMeminfoType.VMEMINFO_NR_INDIRECTLY_RECLAIMABLE;
431        case 103:
432        case "VMEMINFO_NR_ION_HEAP_POOL":
433            return SysVMeminfoType.VMEMINFO_NR_ION_HEAP_POOL;
434        case 104:
435        case "VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE":
436            return SysVMeminfoType.VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE;
437        case 105:
438        case "VMEMINFO_NR_SHADOW_CALL_STACK_BYTES":
439            return SysVMeminfoType.VMEMINFO_NR_SHADOW_CALL_STACK_BYTES;
440        case 106:
441        case "VMEMINFO_NR_SHMEM_HUGEPAGES":
442            return SysVMeminfoType.VMEMINFO_NR_SHMEM_HUGEPAGES;
443        case 107:
444        case "VMEMINFO_NR_SHMEM_PMDMAPPED":
445            return SysVMeminfoType.VMEMINFO_NR_SHMEM_PMDMAPPED;
446        case 108:
447        case "VMEMINFO_NR_UNRECLAIMABLE_PAGES":
448            return SysVMeminfoType.VMEMINFO_NR_UNRECLAIMABLE_PAGES;
449        case 109:
450        case "VMEMINFO_NR_ZONE_ACTIVE_ANON":
451            return SysVMeminfoType.VMEMINFO_NR_ZONE_ACTIVE_ANON;
452        case 110:
453        case "VMEMINFO_NR_ZONE_ACTIVE_FILE":
454            return SysVMeminfoType.VMEMINFO_NR_ZONE_ACTIVE_FILE;
455        case 111:
456        case "VMEMINFO_NR_ZONE_INACTIVE_ANON":
457            return SysVMeminfoType.VMEMINFO_NR_ZONE_INACTIVE_ANON;
458        case 112:
459        case "VMEMINFO_NR_ZONE_INACTIVE_FILE":
460            return SysVMeminfoType.VMEMINFO_NR_ZONE_INACTIVE_FILE;
461        case 113:
462        case "VMEMINFO_NR_ZONE_UNEVICTABLE":
463            return SysVMeminfoType.VMEMINFO_NR_ZONE_UNEVICTABLE;
464        case 114:
465        case "VMEMINFO_NR_ZONE_WRITE_PENDING":
466            return SysVMeminfoType.VMEMINFO_NR_ZONE_WRITE_PENDING;
467        case 115:
468        case "VMEMINFO_OOM_KILL":
469            return SysVMeminfoType.VMEMINFO_OOM_KILL;
470        case 116:
471        case "VMEMINFO_PGLAZYFREE":
472            return SysVMeminfoType.VMEMINFO_PGLAZYFREE;
473        case 117:
474        case "VMEMINFO_PGLAZYFREED":
475            return SysVMeminfoType.VMEMINFO_PGLAZYFREED;
476        case 118:
477        case "VMEMINFO_PGREFILL":
478            return SysVMeminfoType.VMEMINFO_PGREFILL;
479        case 119:
480        case "VMEMINFO_PGSCAN_DIRECT":
481            return SysVMeminfoType.VMEMINFO_PGSCAN_DIRECT;
482        case 120:
483        case "VMEMINFO_PGSCAN_KSWAPD":
484            return SysVMeminfoType.VMEMINFO_PGSCAN_KSWAPD;
485        case 121:
486        case "VMEMINFO_PGSKIP_DMA":
487            return SysVMeminfoType.VMEMINFO_PGSKIP_DMA;
488        case 122:
489        case "VMEMINFO_PGSKIP_MOVABLE":
490            return SysVMeminfoType.VMEMINFO_PGSKIP_MOVABLE;
491        case 123:
492        case "VMEMINFO_PGSKIP_NORMAL":
493            return SysVMeminfoType.VMEMINFO_PGSKIP_NORMAL;
494        case 124:
495        case "VMEMINFO_PGSTEAL_DIRECT":
496            return SysVMeminfoType.VMEMINFO_PGSTEAL_DIRECT;
497        case 125:
498        case "VMEMINFO_PGSTEAL_KSWAPD":
499            return SysVMeminfoType.VMEMINFO_PGSTEAL_KSWAPD;
500        case 126:
501        case "VMEMINFO_SWAP_RA":
502            return SysVMeminfoType.VMEMINFO_SWAP_RA;
503        case 127:
504        case "VMEMINFO_SWAP_RA_HIT":
505            return SysVMeminfoType.VMEMINFO_SWAP_RA_HIT;
506        case 128:
507        case "VMEMINFO_WORKINGSET_RESTORE":
508            return SysVMeminfoType.VMEMINFO_WORKINGSET_RESTORE;
509        case -1:
510        case "UNRECOGNIZED":
511        default:
512            return SysVMeminfoType.UNRECOGNIZED;
513    }
514}
515
516export enum SysVMeminfoType {
517    UNRECOGNIZED = "UNRECOGNIZED",
518    VMEMINFO_UNSPECIFIED = "VMEMINFO_UNSPECIFIED",
519    VMEMINFO_NR_FREE_PAGES = "VMEMINFO_NR_FREE_PAGES",
520    VMEMINFO_NR_ALLOC_BATCH = "VMEMINFO_NR_ALLOC_BATCH",
521    VMEMINFO_NR_INACTIVE_ANON = "VMEMINFO_NR_INACTIVE_ANON",
522    VMEMINFO_NR_ACTIVE_ANON = "VMEMINFO_NR_ACTIVE_ANON",
523    VMEMINFO_NR_INACTIVE_FILE = "VMEMINFO_NR_INACTIVE_FILE",
524    VMEMINFO_NR_ACTIVE_FILE = "VMEMINFO_NR_ACTIVE_FILE",
525    VMEMINFO_NR_UNEVICTABLE = "VMEMINFO_NR_UNEVICTABLE",
526    VMEMINFO_NR_MLOCK = "VMEMINFO_NR_MLOCK",
527    VMEMINFO_NR_ANON_PAGES = "VMEMINFO_NR_ANON_PAGES",
528    VMEMINFO_NR_MAPPED = "VMEMINFO_NR_MAPPED",
529    VMEMINFO_NR_FILE_PAGES = "VMEMINFO_NR_FILE_PAGES",
530    VMEMINFO_NR_DIRTY = "VMEMINFO_NR_DIRTY",
531    VMEMINFO_NR_WRITEBACK = "VMEMINFO_NR_WRITEBACK",
532    VMEMINFO_NR_SLAB_RECLAIMABLE = "VMEMINFO_NR_SLAB_RECLAIMABLE",
533    VMEMINFO_NR_SLAB_UNRECLAIMABLE = "VMEMINFO_NR_SLAB_UNRECLAIMABLE",
534    VMEMINFO_NR_PAGE_TABLE_PAGES = "VMEMINFO_NR_PAGE_TABLE_PAGES",
535    VMEMINFO_NR_KERNEL_STACK = "VMEMINFO_NR_KERNEL_STACK",
536    VMEMINFO_NR_OVERHEAD = "VMEMINFO_NR_OVERHEAD",
537    VMEMINFO_NR_UNSTABLE = "VMEMINFO_NR_UNSTABLE",
538    VMEMINFO_NR_BOUNCE = "VMEMINFO_NR_BOUNCE",
539    VMEMINFO_NR_VMSCAN_WRITE = "VMEMINFO_NR_VMSCAN_WRITE",
540    VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM = "VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM",
541    VMEMINFO_NR_WRITEBACK_TEMP = "VMEMINFO_NR_WRITEBACK_TEMP",
542    VMEMINFO_NR_ISOLATED_ANON = "VMEMINFO_NR_ISOLATED_ANON",
543    VMEMINFO_NR_ISOLATED_FILE = "VMEMINFO_NR_ISOLATED_FILE",
544    VMEMINFO_NR_SHMEM = "VMEMINFO_NR_SHMEM",
545    VMEMINFO_NR_DIRTIED = "VMEMINFO_NR_DIRTIED",
546    VMEMINFO_NR_WRITTEN = "VMEMINFO_NR_WRITTEN",
547    VMEMINFO_NR_PAGES_SCANNED = "VMEMINFO_NR_PAGES_SCANNED",
548    VMEMINFO_WORKINGSET_REFAULT = "VMEMINFO_WORKINGSET_REFAULT",
549    VMEMINFO_WORKINGSET_ACTIVATE = "VMEMINFO_WORKINGSET_ACTIVATE",
550    VMEMINFO_WORKINGSET_NODERECLAIM = "VMEMINFO_WORKINGSET_NODERECLAIM",
551    VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES = "VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES",
552    VMEMINFO_NR_FREE_CMA = "VMEMINFO_NR_FREE_CMA",
553    VMEMINFO_NR_SWAPCACHE = "VMEMINFO_NR_SWAPCACHE",
554    VMEMINFO_NR_DIRTY_THRESHOLD = "VMEMINFO_NR_DIRTY_THRESHOLD",
555    VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD = "VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD",
556    VMEMINFO_PGPGIN = "VMEMINFO_PGPGIN",
557    VMEMINFO_PGPGOUT = "VMEMINFO_PGPGOUT",
558    VMEMINFO_PGPGOUTCLEAN = "VMEMINFO_PGPGOUTCLEAN",
559    VMEMINFO_PSWPIN = "VMEMINFO_PSWPIN",
560    VMEMINFO_PSWPOUT = "VMEMINFO_PSWPOUT",
561    VMEMINFO_PGALLOC_DMA = "VMEMINFO_PGALLOC_DMA",
562    VMEMINFO_PGALLOC_NORMAL = "VMEMINFO_PGALLOC_NORMAL",
563    VMEMINFO_PGALLOC_MOVABLE = "VMEMINFO_PGALLOC_MOVABLE",
564    VMEMINFO_PGFREE = "VMEMINFO_PGFREE",
565    VMEMINFO_PGACTIVATE = "VMEMINFO_PGACTIVATE",
566    VMEMINFO_PGDEACTIVATE = "VMEMINFO_PGDEACTIVATE",
567    VMEMINFO_PGFAULT = "VMEMINFO_PGFAULT",
568    VMEMINFO_PGMAJFAULT = "VMEMINFO_PGMAJFAULT",
569    VMEMINFO_PGREFILL_DMA = "VMEMINFO_PGREFILL_DMA",
570    VMEMINFO_PGREFILL_NORMAL = "VMEMINFO_PGREFILL_NORMAL",
571    VMEMINFO_PGREFILL_MOVABLE = "VMEMINFO_PGREFILL_MOVABLE",
572    VMEMINFO_PGSTEAL_KSWAPD_DMA = "VMEMINFO_PGSTEAL_KSWAPD_DMA",
573    VMEMINFO_PGSTEAL_KSWAPD_NORMAL = "VMEMINFO_PGSTEAL_KSWAPD_NORMAL",
574    VMEMINFO_PGSTEAL_KSWAPD_MOVABLE = "VMEMINFO_PGSTEAL_KSWAPD_MOVABLE",
575    VMEMINFO_PGSTEAL_DIRECT_DMA = "VMEMINFO_PGSTEAL_DIRECT_DMA",
576    VMEMINFO_PGSTEAL_DIRECT_NORMAL = "VMEMINFO_PGSTEAL_DIRECT_NORMAL",
577    VMEMINFO_PGSTEAL_DIRECT_MOVABLE = "VMEMINFO_PGSTEAL_DIRECT_MOVABLE",
578    VMEMINFO_PGSCAN_KSWAPD_DMA = "VMEMINFO_PGSCAN_KSWAPD_DMA",
579    VMEMINFO_PGSCAN_KSWAPD_NORMAL = "VMEMINFO_PGSCAN_KSWAPD_NORMAL",
580    VMEMINFO_PGSCAN_KSWAPD_MOVABLE = "VMEMINFO_PGSCAN_KSWAPD_MOVABLE",
581    VMEMINFO_PGSCAN_DIRECT_DMA = "VMEMINFO_PGSCAN_DIRECT_DMA",
582    VMEMINFO_PGSCAN_DIRECT_NORMAL = "VMEMINFO_PGSCAN_DIRECT_NORMAL",
583    VMEMINFO_PGSCAN_DIRECT_MOVABLE = "VMEMINFO_PGSCAN_DIRECT_MOVABLE",
584    VMEMINFO_PGSCAN_DIRECT_THROTTLE = "VMEMINFO_PGSCAN_DIRECT_THROTTLE",
585    VMEMINFO_PGINODESTEAL = "VMEMINFO_PGINODESTEAL",
586    VMEMINFO_SLABS_SCANNED = "VMEMINFO_SLABS_SCANNED",
587    VMEMINFO_KSWAPD_INODESTEAL = "VMEMINFO_KSWAPD_INODESTEAL",
588    VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY = "VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY",
589    VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY = "VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY",
590    VMEMINFO_PAGEOUTRUN = "VMEMINFO_PAGEOUTRUN",
591    VMEMINFO_ALLOCSTALL = "VMEMINFO_ALLOCSTALL",
592    VMEMINFO_PGROTATED = "VMEMINFO_PGROTATED",
593    VMEMINFO_DROP_PAGECACHE = "VMEMINFO_DROP_PAGECACHE",
594    VMEMINFO_DROP_SLAB = "VMEMINFO_DROP_SLAB",
595    VMEMINFO_PGMIGRATE_SUCCESS = "VMEMINFO_PGMIGRATE_SUCCESS",
596    VMEMINFO_PGMIGRATE_FAIL = "VMEMINFO_PGMIGRATE_FAIL",
597    VMEMINFO_COMPACT_MIGRATE_SCANNED = "VMEMINFO_COMPACT_MIGRATE_SCANNED",
598    VMEMINFO_COMPACT_FREE_SCANNED = "VMEMINFO_COMPACT_FREE_SCANNED",
599    VMEMINFO_COMPACT_ISOLATED = "VMEMINFO_COMPACT_ISOLATED",
600    VMEMINFO_COMPACT_STALL = "VMEMINFO_COMPACT_STALL",
601    VMEMINFO_COMPACT_FAIL = "VMEMINFO_COMPACT_FAIL",
602    VMEMINFO_COMPACT_SUCCESS = "VMEMINFO_COMPACT_SUCCESS",
603    VMEMINFO_COMPACT_DAEMON_WAKE = "VMEMINFO_COMPACT_DAEMON_WAKE",
604    VMEMINFO_UNEVICTABLE_PGS_CULLED = "VMEMINFO_UNEVICTABLE_PGS_CULLED",
605    VMEMINFO_UNEVICTABLE_PGS_SCANNED = "VMEMINFO_UNEVICTABLE_PGS_SCANNED ",
606    VMEMINFO_UNEVICTABLE_PGS_RESCUED = "VMEMINFO_UNEVICTABLE_PGS_RESCUED",
607    VMEMINFO_UNEVICTABLE_PGS_MLOCKED = "VMEMINFO_UNEVICTABLE_PGS_MLOCKED",
608    VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED = "VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED",
609    VMEMINFO_UNEVICTABLE_PGS_CLEARED = "VMEMINFO_UNEVICTABLE_PGS_CLEARED",
610    VMEMINFO_UNEVICTABLE_PGS_STRANDED = "VMEMINFO_UNEVICTABLE_PGS_STRANDED",
611    VMEMINFO_NR_ZSPAGES = "VMEMINFO_NR_ZSPAGES",
612    VMEMINFO_NR_ION_HEAP = "VMEMINFO_NR_ION_HEAP",
613    VMEMINFO_NR_GPU_HEAP = "VMEMINFO_NR_GPU_HEAP",
614    VMEMINFO_ALLOCSTALL_DMA = "VMEMINFO_ALLOCSTALL_DMA",
615    VMEMINFO_ALLOCSTALL_MOVABLE = "VMEMINFO_ALLOCSTALL_MOVABLE",
616    VMEMINFO_ALLOCSTALL_NORMAL = "VMEMINFO_ALLOCSTALL_NORMAL",
617    VMEMINFO_COMPACT_DAEMON_FREE_SCANNED = "VMEMINFO_COMPACT_DAEMON_FREE_SCANNED",
618    VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED = "VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED",
619    VMEMINFO_NR_FASTRPC = "VMEMINFO_NR_FASTRPC",
620    VMEMINFO_NR_INDIRECTLY_RECLAIMABLE = "VMEMINFO_NR_INDIRECTLY_RECLAIMABLE",
621    VMEMINFO_NR_ION_HEAP_POOL = "VMEMINFO_NR_ION_HEAP_POOL",
622    VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE = "VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE",
623    VMEMINFO_NR_SHADOW_CALL_STACK_BYTES = "VMEMINFO_NR_SHADOW_CALL_STACK_BYTES",
624    VMEMINFO_NR_SHMEM_HUGEPAGES = "VMEMINFO_NR_SHMEM_HUGEPAGES",
625    VMEMINFO_NR_SHMEM_PMDMAPPED = "VMEMINFO_NR_SHMEM_PMDMAPPED",
626    VMEMINFO_NR_UNRECLAIMABLE_PAGES = "VMEMINFO_NR_UNRECLAIMABLE_PAGES",
627    VMEMINFO_NR_ZONE_ACTIVE_ANON = "VMEMINFO_NR_ZONE_ACTIVE_ANON",
628    VMEMINFO_NR_ZONE_ACTIVE_FILE = "VMEMINFO_NR_ZONE_ACTIVE_FILE",
629    VMEMINFO_NR_ZONE_INACTIVE_ANON = "VMEMINFO_NR_ZONE_INACTIVE_ANON",
630    VMEMINFO_NR_ZONE_INACTIVE_FILE = "VMEMINFO_NR_ZONE_INACTIVE_FILE",
631    VMEMINFO_NR_ZONE_UNEVICTABLE = "VMEMINFO_NR_ZONE_UNEVICTABLE",
632    VMEMINFO_NR_ZONE_WRITE_PENDING = "VMEMINFO_NR_ZONE_WRITE_PENDING",
633    VMEMINFO_OOM_KILL = "VMEMINFO_OOM_KILL ",
634    VMEMINFO_PGLAZYFREE = "VMEMINFO_PGLAZYFREE",
635    VMEMINFO_PGLAZYFREED = "VMEMINFO_PGLAZYFREED",
636    VMEMINFO_PGREFILL = "VMEMINFO_PGREFILL",
637    VMEMINFO_PGSCAN_DIRECT = "VMEMINFO_PGSCAN_DIRECT",
638    VMEMINFO_PGSCAN_KSWAPD = "VMEMINFO_PGSCAN_KSWAPD",
639    VMEMINFO_PGSKIP_DMA = "VMEMINFO_PGSKIP_DMA",
640    VMEMINFO_PGSKIP_MOVABLE = "VMEMINFO_PGSKIP_MOVABLE",
641    VMEMINFO_PGSKIP_NORMAL = "VMEMINFO_PGSKIP_NORMAL",
642    VMEMINFO_PGSTEAL_DIRECT = "VMEMINFO_PGSTEAL_DIRECT",
643    VMEMINFO_PGSTEAL_KSWAPD = "VMEMINFO_PGSTEAL_KSWAPD",
644    VMEMINFO_SWAP_RA = "VMEMINFO_SWAP_RA",
645    VMEMINFO_SWAP_RA_HIT = "VMEMINFO_SWAP_RA_HIT",
646    VMEMINFO_WORKINGSET_RESTORE = "VMEMINFO_WORKINGSET_RESTORE",
647}
648
649export enum SysMeminfoType {
650    MEMINFO_UNSPECIFIED = "PMEM_UNSPECIFIED",
651    MEMINFO_MEM_TOTAL = "PMEM_MEM_TOTAL",
652    MEMINFO_MEM_FREE = "PMEM_MEM_FREE",
653    MEMINFO_MEM_AVAILABLE = "PMEM_MEM_AVAILABLE",
654    MEMINFO_BUFFERS = "PMEM_BUFFERS",
655    MEMINFO_CACHED = "PMEM_CACHED",
656    MEMINFO_SWAP_CACHED = "PMEM_SWAP_CACHED",
657    MEMINFO_ACTIVE = "PMEM_ACTIVE",
658    MEMINFO_INACTIVE = "PMEM_INACTIVE",
659    MEMINFO_ACTIVE_ANON = "PMEM_ACTIVE_ANON",
660    MEMINFO_INACTIVE_ANON = "PMEM_INACTIVE_ANON",
661    MEMINFO_ACTIVE_FILE = "PMEM_ACTIVE_FILE",
662    MEMINFO_INACTIVE_FILE = "PMEM_INACTIVE_FILE",
663    MEMINFO_UNEVICTABLE = "PMEM_UNEVICTABLE",
664    MEMINFO_MLOCKED = "PMEM_MLOCKED",
665    MEMINFO_SWAP_TOTAL = "PMEM_SWAP_TOTAL",
666    MEMINFO_SWAP_FREE = "PMEM_SWAP_FREE",
667    MEMINFO_DIRTY = "PMEM_DIRTY",
668    MEMINFO_WRITEBACK = "PMEM_WRITEBACK",
669    MEMINFO_ANON_PAGES = "PMEM_ANON_PAGES",
670    MEMINFO_MAPPED = "PMEM_MAPPED",
671    MEMINFO_SHMEM = "PMEM_SHMEM",
672    MEMINFO_SLAB = "PMEM_SLAB",
673    MEMINFO_SLAB_RECLAIMABLE = "PMEM_SLAB_RECLAIMABLE",
674    MEMINFO_SLAB_UNRECLAIMABLE = "PMEM_SLAB_UNRECLAIMABLE",
675    MEMINFO_KERNEL_STACK = "PMEM_KERNEL_STACK",
676    MEMINFO_PAGE_TABLES = "PMEM_PAGE_TABLES",
677    MEMINFO_COMMIT_LIMIT = "PMEM_COMMIT_LIMIT",
678    MEMINFO_COMMITED_AS = "PMEM_COMMITED_AS",
679    MEMINFO_VMALLOC_TOTAL = "PMEM_VMALLOC_TOTAL",
680    MEMINFO_VMALLOC_USED = "PMEM_VMALLOC_USED",
681    MEMINFO_VMALLOC_CHUNK = "PMEM_VMALLOC_CHUNK",
682    MEMINFO_CMA_TOTAL = "PMEM_CMA_TOTAL",
683    MEMINFO_CMA_FREE = "PMEM_CMA_FREE",
684    MEMINFO_KERNEL_RECLAIMABLE = "PMEM_KERNEL_RECLAIMABLE",
685    UNRECOGNIZED = "UNRECOGNIZED",
686}
687
688export function sysMeminfoTypeFromJSON(object: any): SysMeminfoType {
689    switch (object) {
690        case 0:
691        case "MEMINFO_UNSPECIFIED":
692            return SysMeminfoType.MEMINFO_UNSPECIFIED;
693        case 1:
694        case "MEMINFO_MEM_TOTAL":
695            return SysMeminfoType.MEMINFO_MEM_TOTAL;
696        case 2:
697        case "MEMINFO_MEM_FREE":
698            return SysMeminfoType.MEMINFO_MEM_FREE;
699        case 3:
700        case "MEMINFO_MEM_AVAILABLE":
701            return SysMeminfoType.MEMINFO_MEM_AVAILABLE;
702        case 4:
703        case "MEMINFO_BUFFERS":
704            return SysMeminfoType.MEMINFO_BUFFERS;
705        case 5:
706        case "MEMINFO_CACHED":
707            return SysMeminfoType.MEMINFO_CACHED;
708        case 6:
709        case "MEMINFO_SWAP_CACHED":
710            return SysMeminfoType.MEMINFO_SWAP_CACHED;
711        case 7:
712        case "MEMINFO_ACTIVE":
713            return SysMeminfoType.MEMINFO_ACTIVE;
714        case 8:
715        case "MEMINFO_INACTIVE":
716            return SysMeminfoType.MEMINFO_INACTIVE;
717        case 9:
718        case "MEMINFO_ACTIVE_ANON":
719            return SysMeminfoType.MEMINFO_ACTIVE_ANON;
720        case 10:
721        case "MEMINFO_INACTIVE_ANON":
722            return SysMeminfoType.MEMINFO_INACTIVE_ANON;
723        case 11:
724        case "MEMINFO_ACTIVE_FILE":
725            return SysMeminfoType.MEMINFO_ACTIVE_FILE;
726        case 12:
727        case "MEMINFO_INACTIVE_FILE":
728            return SysMeminfoType.MEMINFO_INACTIVE_FILE;
729        case 13:
730        case "MEMINFO_UNEVICTABLE":
731            return SysMeminfoType.MEMINFO_UNEVICTABLE;
732        case 14:
733        case "MEMINFO_MLOCKED":
734            return SysMeminfoType.MEMINFO_MLOCKED;
735        case 15:
736        case "MEMINFO_SWAP_TOTAL":
737            return SysMeminfoType.MEMINFO_SWAP_TOTAL;
738        case 16:
739        case "MEMINFO_SWAP_FREE":
740            return SysMeminfoType.MEMINFO_SWAP_FREE;
741        case 17:
742        case "MEMINFO_DIRTY":
743            return SysMeminfoType.MEMINFO_DIRTY;
744        case 18:
745        case "MEMINFO_WRITEBACK":
746            return SysMeminfoType.MEMINFO_WRITEBACK;
747        case 19:
748        case "MEMINFO_ANON_PAGES":
749            return SysMeminfoType.MEMINFO_ANON_PAGES;
750        case 20:
751        case "MEMINFO_MAPPED":
752            return SysMeminfoType.MEMINFO_MAPPED;
753        case 21:
754        case "MEMINFO_SHMEM":
755            return SysMeminfoType.MEMINFO_SHMEM;
756        case 22:
757        case "MEMINFO_SLAB":
758            return SysMeminfoType.MEMINFO_SLAB;
759        case 23:
760        case "MEMINFO_SLAB_RECLAIMABLE":
761            return SysMeminfoType.MEMINFO_SLAB_RECLAIMABLE;
762        case 24:
763        case "MEMINFO_SLAB_UNRECLAIMABLE":
764            return SysMeminfoType.MEMINFO_SLAB_UNRECLAIMABLE;
765        case 25:
766        case "MEMINFO_KERNEL_STACK":
767            return SysMeminfoType.MEMINFO_KERNEL_STACK;
768        case 26:
769        case "MEMINFO_PAGE_TABLES":
770            return SysMeminfoType.MEMINFO_PAGE_TABLES;
771        case 27:
772        case "MEMINFO_COMMIT_LIMIT":
773            return SysMeminfoType.MEMINFO_COMMIT_LIMIT;
774        case 28:
775        case "MEMINFO_COMMITED_AS":
776            return SysMeminfoType.MEMINFO_COMMITED_AS;
777        case 29:
778        case "MEMINFO_VMALLOC_TOTAL":
779            return SysMeminfoType.MEMINFO_VMALLOC_TOTAL;
780        case 30:
781        case "MEMINFO_VMALLOC_USED":
782            return SysMeminfoType.MEMINFO_VMALLOC_USED;
783        case 31:
784        case "MEMINFO_VMALLOC_CHUNK":
785            return SysMeminfoType.MEMINFO_VMALLOC_CHUNK;
786        case 32:
787        case "MEMINFO_CMA_TOTAL":
788            return SysMeminfoType.MEMINFO_CMA_TOTAL;
789        case 33:
790        case "MEMINFO_CMA_FREE":
791            return SysMeminfoType.MEMINFO_CMA_FREE;
792        case 34:
793        case "MEMINFO_KERNEL_RECLAIMABLE":
794            return SysMeminfoType.MEMINFO_KERNEL_RECLAIMABLE;
795        case -1:
796        case "UNRECOGNIZED":
797        default:
798            return SysMeminfoType.UNRECOGNIZED;
799    }
800}
801
802export enum Type {
803    TYPE_UNSPECIFIED = 0,
804    HI3516 = 1,
805    P40 = 2,
806    UNRECOGNIZED = -1,
807}
808
809export interface HilogConfig {
810    deviceType: Type;
811    logLevel: Level;
812    needClear: boolean;
813}
814
815export function levelFromJSON(object: any): Level {
816    switch (object) {
817        case 0:
818        case "LEVEL_UNSPECIFIED":
819            return Level.LOG_UNSPECIFIED;
820        case 1:
821        case "Error":
822            return Level.LOG_ERROR;
823        case 2:
824        case "Info":
825            return Level.LOG_INFO;
826        case 3:
827        case "Debug":
828            return Level.LOG_DEBUG;
829        case 4:
830        case "Warns":
831            return Level.LOG_WARN;
832        case -1:
833        case "UNRECOGNIZED":
834        default:
835            return Level.UNRECOGNIZED;
836    }
837}
838
839export enum Level {
840    LOG_UNSPECIFIED = "LOG_UNSPECIFIED",
841    LOG_ERROR = "LOG_ERROR",
842    LOG_INFO = "LOG_INFO",
843    LOG_DEBUG = "LOG_DEBUG",
844    LOG_WARN = "LOG_WARN",
845    UNRECOGNIZED = -1,
846}
847
848export interface NativeHookConfig {
849    pid: number,
850    saveFile: boolean,
851    fileName: string,
852    filterSize: number,
853    smbPages: number,
854    maxStackDepth: number,
855    processName: string,
856    mallocFreeMatchingInterval: number,
857    mallocFreeMatchingCnt: number,
858    stringCompressed: boolean
859    fpUnwind: boolean
860}
861
862export interface FpsConfig {
863    reportFps: boolean;
864}
865
866export interface ProcessConfig {
867    report_process_tree: boolean;
868    report_cpu: boolean;
869    report_diskio: boolean;
870    report_pss: boolean;
871}
872
873export interface CpuConfig {
874    pid: number;
875    reportProcessInfo: boolean;
876}
877
878enum IoReportType {
879    UNSPECIFIED = "UNSPECIFIED",
880    IO_REPORT = "IO_REPORT",
881    IO_REPORT_EX = "IO_REPORT_EX"
882}
883
884export interface DiskioConfig {
885    reportIoStats: string;
886}
887
888export interface NetworkConfig {
889    testFile: string;
890}
891
892
893export interface HiperfPluginConfig {
894    isRoot: boolean;
895    outfileName: string;
896    recordArgs: string;
897}
898
899export interface HiSystemEventConfig {
900    msg:string;
901}