• 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 "util/config_data.h"
16 #include <pubdef.h>
17 #include "common/dumper_constant.h"
18 namespace OHOS {
19 namespace HiviewDFX {
20 const std::string ConfigData::CONFIG_NAME_SPLIT = "_";
21 const std::string ConfigData::CONFIG_GROUP = "group";
22 const std::string ConfigData::CONFIG_GROUP_ = ConfigData::CONFIG_GROUP + ConfigData::CONFIG_NAME_SPLIT;
23 const std::string ConfigData::CONFIG_MINIGROUP = "groupmini";
24 const std::string ConfigData::CONFIG_MINIGROUP_ = ConfigData::CONFIG_MINIGROUP + ConfigData::CONFIG_NAME_SPLIT;
25 const std::string ConfigData::CONFIG_DUMPER = "dumper";
26 const std::string ConfigData::CONFIG_DUMPER_ = ConfigData::CONFIG_DUMPER + ConfigData::CONFIG_NAME_SPLIT;
27 const std::string ConfigData::CONFIG_DUMPER_LIST = ConfigData::CONFIG_DUMPER_ + "list";
28 const std::string ConfigData::CONFIG_DUMPER_LIST_ = ConfigData::CONFIG_DUMPER_LIST + ConfigData::CONFIG_NAME_SPLIT;
29 const std::string ConfigData::CONFIG_DUMPER_LIST_SERVICE = ConfigData::CONFIG_DUMPER_LIST_ + "service";
30 const std::string ConfigData::CONFIG_DUMPER_LIST_SYSTEM_ABILITY = ConfigData::CONFIG_DUMPER_LIST_ + "system_ability";
31 const std::string ConfigData::CONFIG_DUMPER_LIST_SYSTEM = ConfigData::CONFIG_DUMPER_LIST_ + "system";
32 const std::string ConfigData::CONFIG_GROUP_CPU_FREQ = ConfigData::CONFIG_GROUP_ + "cpufreq";
33 const std::string ConfigData::CONFIG_GROUP_CPU_USAGE = ConfigData::CONFIG_GROUP_ + "cpuusage";
34 const std::string ConfigData::CONFIG_GROUP_LOG = ConfigData::CONFIG_GROUP_ + "log";
35 const std::string ConfigData::CONFIG_GROUP_LOG_ = ConfigData::CONFIG_GROUP_LOG + ConfigData::CONFIG_NAME_SPLIT;
36 const std::string ConfigData::CONFIG_GROUP_LOG_KERNEL = ConfigData::CONFIG_GROUP_LOG_ + "kernel";
37 const std::string ConfigData::CONFIG_GROUP_LOG_HILOG = ConfigData::CONFIG_GROUP_LOG_ + "hilog";
38 const std::string ConfigData::CONFIG_GROUP_LOG_INIT = ConfigData::CONFIG_GROUP_LOG_ + "init";
39 const std::string ConfigData::CONFIG_GROUP_MEMORY = ConfigData::CONFIG_GROUP_ + "memory";
40 const std::string ConfigData::CONFIG_GROUP_STORAGE = ConfigData::CONFIG_GROUP_ + "storage";
41 const std::string ConfigData::CONFIG_GROUP_NET = ConfigData::CONFIG_GROUP_ + "net";
42 const std::string ConfigData::CONFIG_GROUP_SERVICE = ConfigData::CONFIG_GROUP_ + "service";
43 const std::string ConfigData::CONFIG_GROUP_ABILITY = ConfigData::CONFIG_GROUP_ + "ability";
44 const std::string ConfigData::CONFIG_GROUP_SYSTEM = ConfigData::CONFIG_GROUP_ + "system";
45 const std::string ConfigData::CONFIG_GROUP_SYSTEM_ = ConfigData::CONFIG_GROUP_SYSTEM + ConfigData::CONFIG_NAME_SPLIT;
46 const std::string ConfigData::CONFIG_GROUP_SYSTEM_BASE = ConfigData::CONFIG_GROUP_SYSTEM_ + "base";
47 const std::string ConfigData::CONFIG_GROUP_SYSTEM_SYSTEM = ConfigData::CONFIG_GROUP_SYSTEM_ + "system";
48 const std::string ConfigData::CONFIG_GROUP_PROCESSES = ConfigData::CONFIG_GROUP_ + "processes";
49 const std::string ConfigData::CONFIG_GROUP_PROCESSES_ENG = ConfigData::CONFIG_GROUP_ + "eng_processes";
50 const std::string ConfigData::CONFIG_GROUP_PROCESSES_PID = ConfigData::CONFIG_GROUP_ + "pid_processes";
51 const std::string ConfigData::CONFIG_GROUP_PROCESSES_PID_ENG = ConfigData::CONFIG_GROUP_ + "pid_eng_processes";
52 const std::string ConfigData::CONFIG_GROUP_FAULT_LOG = ConfigData::CONFIG_GROUP_ + "faultlog";
53 const std::string ConfigData::CONFIG_GROUP_STACK = ConfigData::CONFIG_GROUP_ + "stack";
54 const std::string ConfigData::CONFIG_GROUP_TEST = ConfigData::CONFIG_GROUP_ + "test";
55 const std::string ConfigData::STR_ABILITY = "ability";
56 const std::string ConfigData::STR_BASE = "base";
57 const std::string ConfigData::STR_SERVICE = "service";
58 const std::string ConfigData::STR_SYSTEM = "system";
59 const ConfigData::ItemCfg ConfigData::baseInfoDumper_[] = {
60     {
61         .name_ = "dumper_base_info",
62         .desc_ = "Base Information",
63         .target_ = "",
64         .section_ = "",
65         .class_ = DumperConstant::API_DUMPER,
66         .level_ = DumperConstant::NONE,
67         .loop_ = DumperConstant::NONE,
68         .filterCfg_ = "",
69     },
70     {
71         .name_ = "",
72         .desc_ = "",
73         .target_ = "",
74         .section_ = "",
75         .class_ = DumperConstant::FD_OUTPUT,
76         .level_ = DumperConstant::NONE,
77         .loop_ = DumperConstant::NONE,
78         .filterCfg_ = "",
79     },
80 };
81 
82 const ConfigData::ItemCfg ConfigData::kernelVersionDumper_[] = {
83     {
84         .name_ = "dumper_kernel_version",
85         .desc_ = "Kernel Version",
86         .target_ = "/proc/version",
87         .section_ = "",
88         .class_ = DumperConstant::FILE_DUMPER,
89         .level_ = DumperConstant::NONE,
90         .loop_ = DumperConstant::NONE,
91         .filterCfg_ = "",
92     },
93     {
94         .name_ = "",
95         .desc_ = "",
96         .target_ = "",
97         .section_ = "",
98         .class_ = DumperConstant::FD_OUTPUT,
99         .level_ = DumperConstant::NONE,
100         .loop_ = DumperConstant::NONE,
101         .filterCfg_ = "",
102     },
103 };
104 
105 const ConfigData::ItemCfg ConfigData::cmdlineDumper_[] = {
106     {
107         .name_ = "dumper_command_line",
108         .desc_ = "Command Line",
109         .target_ = "/proc/cmdline",
110         .section_ = "",
111         .class_ = DumperConstant::FILE_DUMPER,
112         .level_ = DumperConstant::NONE,
113         .loop_ = DumperConstant::NONE,
114         .filterCfg_ = "",
115     },
116     {
117         .name_ = "",
118         .desc_ = "",
119         .target_ = "",
120         .section_ = "",
121         .class_ = DumperConstant::FD_OUTPUT,
122         .level_ = DumperConstant::NONE,
123         .loop_ = DumperConstant::NONE,
124         .filterCfg_ = "",
125     },
126 };
127 
128 const ConfigData::ItemCfg ConfigData::kernelWakeSourcesDumper_[] = {
129     {
130         .name_ = "dumper_kernel_wake_sources",
131         .desc_ = "KERNEL WAKE SOURCES",
132         .target_ = "/sys/kernel/debug/wakeup_sources",
133         .section_ = "",
134         .class_ = DumperConstant::FILE_DUMPER,
135         .level_ = DumperConstant::NONE,
136         .loop_ = DumperConstant::NONE,
137         .filterCfg_ = "",
138     },
139     {
140         .name_ = "",
141         .desc_ = "",
142         .target_ = "",
143         .section_ = "",
144         .class_ = DumperConstant::FD_OUTPUT,
145         .level_ = DumperConstant::NONE,
146         .loop_ = DumperConstant::NONE,
147         .filterCfg_ = "",
148     },
149 };
150 
151 const ConfigData::ItemCfg ConfigData::kernelCpufreqDumper_[] = {
152     {
153         .name_ = "dumper_kernel_cpu_freq",
154         .desc_ = "KERNEL CPUFREQ",
155         .target_ = "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_cur_freq",
156         .section_ = "",
157         .class_ = DumperConstant::CMD_DUMPER,
158         .level_ = DumperConstant::NONE,
159         .loop_ = DumperConstant::NONE,
160         .filterCfg_ = "",
161     },
162     {
163         .name_ = "",
164         .desc_ = "",
165         .target_ = "",
166         .section_ = "",
167         .class_ = DumperConstant::FD_OUTPUT,
168         .level_ = DumperConstant::NONE,
169         .loop_ = DumperConstant::NONE,
170         .filterCfg_ = "",
171     },
172     {
173         .name_ = "",
174         .desc_ = "",
175         .target_ = "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_max_freq",
176         .section_ = "",
177         .class_ = DumperConstant::CMD_DUMPER,
178         .level_ = DumperConstant::NONE,
179         .loop_ = DumperConstant::NONE,
180         .filterCfg_ = "",
181     },
182     {
183         .name_ = "",
184         .desc_ = "",
185         .target_ = "",
186         .section_ = "",
187         .class_ = DumperConstant::FD_OUTPUT,
188         .level_ = DumperConstant::NONE,
189         .loop_ = DumperConstant::NONE,
190         .filterCfg_ = "",
191     },
192 };
193 
194 const ConfigData::ItemCfg ConfigData::uptimeDumper_[] = {
195     {
196         .name_ = "dumper_uptime",
197         .desc_ = "Up Time",
198         .target_ = "uptime -p",
199         .section_ = "",
200         .class_ = DumperConstant::CMD_DUMPER,
201         .level_ = DumperConstant::NONE,
202         .loop_ = DumperConstant::NONE,
203         .filterCfg_ = "",
204     },
205     {
206         .name_ = "",
207         .desc_ = "",
208         .target_ = "",
209         .section_ = "",
210         .class_ = DumperConstant::FD_OUTPUT,
211         .level_ = DumperConstant::NONE,
212         .loop_ = DumperConstant::NONE,
213         .filterCfg_ = "",
214     },
215 };
216 
217 const ConfigData::ItemCfg ConfigData::cpuUsageDumper_[] = {
218     {
219         .name_ = "dumper_cpu_usage",
220         .desc_ = "CPU Usage",
221         .target_ = "%pid",
222         .section_ = "",
223         .class_ = DumperConstant::CPU_DUMPER,
224         .level_ = DumperConstant::NONE,
225         .loop_ = DumperConstant::NONE,
226         .filterCfg_ = "",
227     },
228     {
229         .name_ = "",
230         .desc_ = "",
231         .target_ = "",
232         .section_ = "",
233         .class_ = DumperConstant::FD_OUTPUT,
234         .level_ = DumperConstant::NONE,
235         .loop_ = DumperConstant::NONE,
236         .filterCfg_ = "",
237     },
238 };
239 
240 const ConfigData::ItemCfg ConfigData::cpuFreqDumper_[] = {
241     {
242         .name_ = "dumper_cpu_freq",
243         .desc_ = "CPU Frequency",
244         .target_ = "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_cur_freq",
245         .section_ = "",
246         .class_ = DumperConstant::CMD_DUMPER,
247         .level_ = DumperConstant::NONE,
248         .loop_ = DumperConstant::NONE,
249         .filterCfg_ = "",
250     },
251     {
252         .name_ = "",
253         .desc_ = "",
254         .target_ = "",
255         .section_ = "",
256         .class_ = DumperConstant::FD_OUTPUT,
257         .level_ = DumperConstant::NONE,
258         .loop_ = DumperConstant::NONE,
259         .filterCfg_ = "",
260     },
261     {
262         .name_ = "",
263         .desc_ = "",
264         .target_ = "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_max_freq",
265         .section_ = "",
266         .class_ = DumperConstant::CMD_DUMPER,
267         .level_ = DumperConstant::NONE,
268         .loop_ = DumperConstant::NONE,
269         .filterCfg_ = "",
270     },
271     {
272         .name_ = "",
273         .desc_ = "",
274         .target_ = "",
275         .section_ = "",
276         .class_ = DumperConstant::FD_OUTPUT,
277         .level_ = DumperConstant::NONE,
278         .loop_ = DumperConstant::NONE,
279         .filterCfg_ = "",
280     },
281 };
282 
283 const ConfigData::ItemCfg ConfigData::memDumper_[] = {
284     {
285         .name_ = "dumper_mem",
286         .desc_ = "Memory Information",
287         .target_ = "%pid",
288         .section_ = "",
289         .class_ = DumperConstant::MEMORY_DUMPER,
290         .level_ = DumperConstant::NONE,
291         .loop_ = DumperConstant::LOOP,
292         .filterCfg_ = "",
293     },
294     {
295         .name_ = "",
296         .desc_ = "",
297         .target_ = "",
298         .section_ = "",
299         .class_ = DumperConstant::FD_OUTPUT,
300         .level_ = DumperConstant::NONE,
301         .loop_ = DumperConstant::LOOP,
302         .filterCfg_ = "",
303     },
304 };
305 
306 const ConfigData::ItemCfg ConfigData::envDumper_[] = {
307     {
308         .name_ = "dumper_env",
309         .desc_ = "Environment Variable",
310         .target_ = "printenv",
311         .section_ = "",
312         .class_ = DumperConstant::CMD_DUMPER,
313         .level_ = DumperConstant::NONE,
314         .loop_ = DumperConstant::NONE,
315         .filterCfg_ = "",
316     },
317     {
318         .name_ = "",
319         .desc_ = "",
320         .target_ = "",
321         .section_ = "",
322         .class_ = DumperConstant::FD_OUTPUT,
323         .level_ = DumperConstant::NONE,
324         .loop_ = DumperConstant::NONE,
325         .filterCfg_ = "",
326     },
327 };
328 
329 const ConfigData::ItemCfg ConfigData::kernelModuleDumper_[] = {
330     {
331         .name_ = "dumper_kernel_module",
332         .desc_ = "Kernel Module",
333         .target_ = "/proc/modules",
334         .section_ = "",
335         .class_ = DumperConstant::FILE_DUMPER,
336         .level_ = DumperConstant::NONE,
337         .loop_ = DumperConstant::NONE,
338         .filterCfg_ = "",
339     },
340     {
341         .name_ = "",
342         .desc_ = "",
343         .target_ = "",
344         .section_ = "",
345         .class_ = DumperConstant::FD_OUTPUT,
346         .level_ = DumperConstant::NONE,
347         .loop_ = DumperConstant::NONE,
348         .filterCfg_ = "",
349     },
350     {
351         .name_ = "",
352         .desc_ = "",
353         .target_ = "lsmod",
354         .section_ = "",
355         .class_ = DumperConstant::CMD_DUMPER,
356         .level_ = DumperConstant::NONE,
357         .loop_ = DumperConstant::NONE,
358         .filterCfg_ = "",
359     },
360     {
361         .name_ = "",
362         .desc_ = "",
363         .target_ = "",
364         .section_ = "",
365         .class_ = DumperConstant::FD_OUTPUT,
366         .level_ = DumperConstant::NONE,
367         .loop_ = DumperConstant::NONE,
368         .filterCfg_ = "",
369     },
370 };
371 
372 const ConfigData::ItemCfg ConfigData::dumpFormatVersionDumper_[] = {
373     {
374         .name_ = "dumper_dump_format_version",
375         .desc_ = "HiDumper Version",
376         .target_ = "HiDumper version:x.x",
377         .section_ = "",
378         .class_ = DumperConstant::VERSION_DUMPER,
379         .level_ = DumperConstant::NONE,
380         .loop_ = DumperConstant::NONE,
381         .filterCfg_ = "",
382     },
383     {
384         .name_ = "",
385         .desc_ = "",
386         .target_ = "",
387         .section_ = "",
388         .class_ = DumperConstant::FD_OUTPUT,
389         .level_ = DumperConstant::NONE,
390         .loop_ = DumperConstant::NONE,
391         .filterCfg_ = "",
392     },
393 };
394 
395 const ConfigData::ItemCfg ConfigData::slabinfoDumper_[] = {
396     {
397         .name_ = "dumper_slabinfo",
398         .desc_ = "SLAB INFO",
399         .target_ = "/proc/slabinfo",
400         .section_ = "",
401         .class_ = DumperConstant::FILE_DUMPER,
402         .level_ = DumperConstant::NONE,
403         .loop_ = DumperConstant::NONE,
404         .filterCfg_ = "",
405     },
406     {
407         .name_ = "",
408         .desc_ = "",
409         .target_ = "",
410         .section_ = "",
411         .class_ = DumperConstant::FD_OUTPUT,
412         .level_ = DumperConstant::NONE,
413         .loop_ = DumperConstant::NONE,
414         .filterCfg_ = "",
415     },
416 };
417 
418 const ConfigData::ItemCfg ConfigData::zoneinfoDumper_[] = {
419     {
420         .name_ = "dumper_zoneinfo",
421         .desc_ = "ZONE INFO",
422         .target_ = "/proc/zoneinfo",
423         .section_ = "",
424         .class_ = DumperConstant::FILE_DUMPER,
425         .level_ = DumperConstant::NONE,
426         .loop_ = DumperConstant::NONE,
427         .filterCfg_ = "",
428     },
429     {
430         .name_ = "",
431         .desc_ = "",
432         .target_ = "",
433         .section_ = "",
434         .class_ = DumperConstant::FD_OUTPUT,
435         .level_ = DumperConstant::NONE,
436         .loop_ = DumperConstant::NONE,
437         .filterCfg_ = "",
438     },
439 };
440 
441 const ConfigData::ItemCfg ConfigData::vmStatDumper_[] = {
442     {
443         .name_ = "dumper_vmstat",
444         .desc_ = "VIRTUAL MEMORY STATS",
445         .target_ = "/proc/vmstat",
446         .section_ = "",
447         .class_ = DumperConstant::FILE_DUMPER,
448         .level_ = DumperConstant::NONE,
449         .loop_ = DumperConstant::NONE,
450         .filterCfg_ = "",
451     },
452     {
453         .name_ = "",
454         .desc_ = "",
455         .target_ = "",
456         .section_ = "",
457         .class_ = DumperConstant::FD_OUTPUT,
458         .level_ = DumperConstant::NONE,
459         .loop_ = DumperConstant::NONE,
460         .filterCfg_ = "",
461     },
462 };
463 
464 const ConfigData::ItemCfg ConfigData::vmAllocInfoDumper_[] = {
465     {
466         .name_ = "dumper_vmallocinfo",
467         .desc_ = "VIRTUAL MEMORY STATS",
468         .target_ = "/proc/vmallocinfo",
469         .section_ = "",
470         .class_ = DumperConstant::FILE_DUMPER,
471         .level_ = DumperConstant::NONE,
472         .loop_ = DumperConstant::NONE,
473         .filterCfg_ = "",
474     },
475     {
476         .name_ = "",
477         .desc_ = "",
478         .target_ = "",
479         .section_ = "",
480         .class_ = DumperConstant::FD_OUTPUT,
481         .level_ = DumperConstant::NONE,
482         .loop_ = DumperConstant::NONE,
483         .filterCfg_ = "",
484     },
485 };
486 
487 const ConfigData::ItemCfg ConfigData::crashDumper_[] = {
488     {
489         .name_ = "dumper_crash",
490         .desc_ = "Crash Log",
491         .target_ = "/data/log/faultlog/faultlogger",
492         .section_ = "",
493         .class_ = DumperConstant::FILE_DUMPER,
494         .level_ = DumperConstant::NONE,
495         .loop_ = DumperConstant::NONE,
496         .filterCfg_ = "",
497     },
498     {
499         .name_ = "",
500         .desc_ = "",
501         .target_ = "",
502         .section_ = "",
503         .class_ = DumperConstant::FD_OUTPUT,
504         .level_ = DumperConstant::NONE,
505         .loop_ = DumperConstant::NONE,
506         .filterCfg_ = "",
507     },
508 };
509 
510 const ConfigData::ItemCfg ConfigData::kernelLogDumper_[] = {
511     {
512         .name_ = "dumper_kernel_log",
513         .desc_ = "Kernel Log",
514         .target_ = "dmesg",
515         .section_ = "",
516         .class_ = DumperConstant::CMD_DUMPER,
517         .level_ = DumperConstant::NONE,
518         .loop_ = DumperConstant::LOOP,
519         .filterCfg_ = "",
520     },
521     {
522         .name_ = "",
523         .desc_ = "",
524         .target_ = "",
525         .section_ = "",
526         .class_ = DumperConstant::FD_OUTPUT,
527         .level_ = DumperConstant::NONE,
528         .loop_ = DumperConstant::LOOP,
529         .filterCfg_ = "",
530     },
531 };
532 
533 const ConfigData::ItemCfg ConfigData::hilogDumper_[] = {
534     {
535         .name_ = "dumper_hilog",
536         .desc_ = "Hilog",
537         .target_ = "hilog -x --exit",
538         .section_ = "",
539         .class_ = DumperConstant::CMD_DUMPER,
540         .level_ = DumperConstant::NONE,
541         .loop_ = DumperConstant::LOOP,
542         .filterCfg_ = "",
543     },
544     {
545         .name_ = "",
546         .desc_ = "",
547         .target_ = "",
548         .section_ = "",
549         .class_ = DumperConstant::FD_OUTPUT,
550         .level_ = DumperConstant::NONE,
551         .loop_ = DumperConstant::LOOP,
552         .filterCfg_ = "",
553     },
554 };
555 
556 const ConfigData::ItemCfg ConfigData::portDumper_[] = {
557     {
558         .name_ = "dumper_port",
559         .desc_ = "Port Information",
560         .target_ = "netstat -nW",
561         .section_ = "",
562         .class_ = DumperConstant::CMD_DUMPER,
563         .level_ = DumperConstant::NONE,
564         .loop_ = DumperConstant::NONE,
565         .filterCfg_ = "",
566     },
567     {
568         .name_ = "",
569         .desc_ = "",
570         .target_ = "",
571         .section_ = "",
572         .class_ = DumperConstant::FD_OUTPUT,
573         .level_ = DumperConstant::NONE,
574         .loop_ = DumperConstant::NONE,
575         .filterCfg_ = "",
576     },
577 };
578 
579 const ConfigData::ItemCfg ConfigData::packetDumper_[] = {
580     {
581         .name_ = "dumper_packet",
582         .desc_ = "Packet State",
583         .target_ = "/proc/net/dev",
584         .section_ = "",
585         .class_ = DumperConstant::FILE_DUMPER,
586         .level_ = DumperConstant::NONE,
587         .loop_ = DumperConstant::NONE,
588         .filterCfg_ = "",
589     },
590     {
591         .name_ = "",
592         .desc_ = "",
593         .target_ = "",
594         .section_ = "",
595         .class_ = DumperConstant::FD_OUTPUT,
596         .level_ = DumperConstant::NONE,
597         .loop_ = DumperConstant::NONE,
598         .filterCfg_ = "",
599     },
600     {
601         .name_ = "",
602         .desc_ = "",
603         .target_ = "/proc/net/xt_qtaguid/iface_stat_all",
604         .section_ = "",
605         .class_ = DumperConstant::FILE_DUMPER,
606         .level_ = DumperConstant::NONE,
607         .loop_ = DumperConstant::NONE,
608         .filterCfg_ = "",
609     },
610     {
611         .name_ = "",
612         .desc_ = "",
613         .target_ = "",
614         .section_ = "",
615         .class_ = DumperConstant::FD_OUTPUT,
616         .level_ = DumperConstant::NONE,
617         .loop_ = DumperConstant::NONE,
618         .filterCfg_ = "",
619     },
620     {
621         .name_ = "",
622         .desc_ = "",
623         .target_ = "/proc/net/xt_qtaguid/iface_stat_fmt",
624         .section_ = "",
625         .class_ = DumperConstant::FILE_DUMPER,
626         .level_ = DumperConstant::NONE,
627         .loop_ = DumperConstant::NONE,
628         .filterCfg_ = "",
629     },
630     {
631         .name_ = "",
632         .desc_ = "",
633         .target_ = "",
634         .section_ = "",
635         .class_ = DumperConstant::FD_OUTPUT,
636         .level_ = DumperConstant::NONE,
637         .loop_ = DumperConstant::NONE,
638         .filterCfg_ = "",
639     },
640     {
641         .name_ = "",
642         .desc_ = "",
643         .target_ = "/proc/net/xt_qtaguid/ctrl",
644         .section_ = "",
645         .class_ = DumperConstant::FILE_DUMPER,
646         .level_ = DumperConstant::NONE,
647         .loop_ = DumperConstant::NONE,
648         .filterCfg_ = "",
649     },
650     {
651         .name_ = "",
652         .desc_ = "",
653         .target_ = "",
654         .section_ = "",
655         .class_ = DumperConstant::FD_OUTPUT,
656         .level_ = DumperConstant::NONE,
657         .loop_ = DumperConstant::NONE,
658         .filterCfg_ = "",
659     },
660     {
661         .name_ = "",
662         .desc_ = "",
663         .target_ = "/proc/net/xt_qtaguid/stats",
664         .section_ = "",
665         .class_ = DumperConstant::FILE_DUMPER,
666         .level_ = DumperConstant::NONE,
667         .loop_ = DumperConstant::NONE,
668         .filterCfg_ = "",
669     },
670     {
671         .name_ = "",
672         .desc_ = "",
673         .target_ = "",
674         .section_ = "",
675         .class_ = DumperConstant::FD_OUTPUT,
676         .level_ = DumperConstant::NONE,
677         .loop_ = DumperConstant::NONE,
678         .filterCfg_ = "",
679     },
680 };
681 
682 const ConfigData::ItemCfg ConfigData::ipDumper_[] = {
683     {
684         .name_ = "dumper_ip",
685         .desc_ = "IP v4/6 State",
686         .target_ = "ifconfig -a",
687         .section_ = "",
688         .class_ = DumperConstant::CMD_DUMPER,
689         .level_ = DumperConstant::NONE,
690         .loop_ = DumperConstant::NONE,
691         .filterCfg_ = "",
692     },
693     {
694         .name_ = "",
695         .desc_ = "",
696         .target_ = "",
697         .section_ = "",
698         .class_ = DumperConstant::FD_OUTPUT,
699         .level_ = DumperConstant::NONE,
700         .loop_ = DumperConstant::NONE,
701         .filterCfg_ = "",
702     },
703 };
704 
705 const ConfigData::ItemCfg ConfigData::ipTableDumper_[] = {
706     {
707         .name_ = "dumper_ip_table",
708         .desc_ = "IPTable v4/6 Information",
709         .target_ = "iptables -L -nvx",
710         .section_ = "",
711         .class_ = DumperConstant::CMD_DUMPER,
712         .level_ = DumperConstant::NONE,
713         .loop_ = DumperConstant::NONE,
714         .filterCfg_ = "",
715     },
716     {
717         .name_ = "",
718         .desc_ = "",
719         .target_ = "",
720         .section_ = "",
721         .class_ = DumperConstant::FD_OUTPUT,
722         .level_ = DumperConstant::NONE,
723         .loop_ = DumperConstant::NONE,
724         .filterCfg_ = "",
725     },
726     {
727         .name_ = "",
728         .desc_ = "",
729         .target_ = "ip6tables -L -nvx",
730         .section_ = "",
731         .class_ = DumperConstant::CMD_DUMPER,
732         .level_ = DumperConstant::NONE,
733         .loop_ = DumperConstant::NONE,
734         .filterCfg_ = "",
735     },
736     {
737         .name_ = "",
738         .desc_ = "",
739         .target_ = "",
740         .section_ = "",
741         .class_ = DumperConstant::FD_OUTPUT,
742         .level_ = DumperConstant::NONE,
743         .loop_ = DumperConstant::NONE,
744         .filterCfg_ = "",
745     },
746     {
747         .name_ = "",
748         .desc_ = "",
749         .target_ = "iptables -t nat -L -nvx",
750         .section_ = "",
751         .class_ = DumperConstant::CMD_DUMPER,
752         .level_ = DumperConstant::NONE,
753         .loop_ = DumperConstant::NONE,
754         .filterCfg_ = "",
755     },
756     {
757         .name_ = "",
758         .desc_ = "",
759         .target_ = "",
760         .section_ = "",
761         .class_ = DumperConstant::FD_OUTPUT,
762         .level_ = DumperConstant::NONE,
763         .loop_ = DumperConstant::NONE,
764         .filterCfg_ = "",
765     },
766     {
767         .name_ = "",
768         .desc_ = "",
769         .target_ = "iptables -t mangle -L -nvx",
770         .section_ = "",
771         .class_ = DumperConstant::CMD_DUMPER,
772         .level_ = DumperConstant::NONE,
773         .loop_ = DumperConstant::NONE,
774         .filterCfg_ = "",
775     },
776     {
777         .name_ = "",
778         .desc_ = "",
779         .target_ = "",
780         .section_ = "",
781         .class_ = DumperConstant::FD_OUTPUT,
782         .level_ = DumperConstant::NONE,
783         .loop_ = DumperConstant::NONE,
784         .filterCfg_ = "",
785     },
786     {
787         .name_ = "",
788         .desc_ = "",
789         .target_ = "ip6tables -t mangle -L -nvx",
790         .section_ = "",
791         .class_ = DumperConstant::CMD_DUMPER,
792         .level_ = DumperConstant::NONE,
793         .loop_ = DumperConstant::NONE,
794         .filterCfg_ = "",
795     },
796     {
797         .name_ = "",
798         .desc_ = "",
799         .target_ = "",
800         .section_ = "",
801         .class_ = DumperConstant::FD_OUTPUT,
802         .level_ = DumperConstant::NONE,
803         .loop_ = DumperConstant::NONE,
804         .filterCfg_ = "",
805     },
806     {
807         .name_ = "",
808         .desc_ = "",
809         .target_ = "iptables -t raw -L -nvx",
810         .section_ = "",
811         .class_ = DumperConstant::CMD_DUMPER,
812         .level_ = DumperConstant::NONE,
813         .loop_ = DumperConstant::NONE,
814         .filterCfg_ = "",
815     },
816     {
817         .name_ = "",
818         .desc_ = "",
819         .target_ = "",
820         .section_ = "",
821         .class_ = DumperConstant::FD_OUTPUT,
822         .level_ = DumperConstant::NONE,
823         .loop_ = DumperConstant::NONE,
824         .filterCfg_ = "",
825     },
826     {
827         .name_ = "",
828         .desc_ = "",
829         .target_ = "ip6tables -t raw -L -nvx",
830         .section_ = "",
831         .class_ = DumperConstant::CMD_DUMPER,
832         .level_ = DumperConstant::NONE,
833         .loop_ = DumperConstant::NONE,
834         .filterCfg_ = "",
835     },
836     {
837         .name_ = "",
838         .desc_ = "",
839         .target_ = "",
840         .section_ = "",
841         .class_ = DumperConstant::FD_OUTPUT,
842         .level_ = DumperConstant::NONE,
843         .loop_ = DumperConstant::NONE,
844         .filterCfg_ = "",
845     },
846 };
847 
848 const ConfigData::ItemCfg ConfigData::routeTableDumper_[] = {
849     {
850         .name_ = "dumper_route_table",
851         .desc_ = "IP Table v4/6 Information",
852         .target_ = "/data/misc/net/rt_tables",
853         .section_ = "",
854         .class_ = DumperConstant::FILE_DUMPER,
855         .level_ = DumperConstant::NONE,
856         .loop_ = DumperConstant::NONE,
857         .filterCfg_ = "",
858     },
859     {
860         .name_ = "",
861         .desc_ = "",
862         .target_ = "",
863         .section_ = "",
864         .class_ = DumperConstant::FD_OUTPUT,
865         .level_ = DumperConstant::NONE,
866         .loop_ = DumperConstant::NONE,
867         .filterCfg_ = "",
868     },
869 };
870 
871 const ConfigData::ItemCfg ConfigData::ipcDumper_[] = {
872     {
873         .name_ = "dumper_ipc",
874         .desc_ = "IPC Information",
875         .target_ = "/sys/kernel/debug/binder/failed_transaction_log",
876         .section_ = "",
877         .class_ = DumperConstant::FILE_DUMPER,
878         .level_ = DumperConstant::NONE,
879         .loop_ = DumperConstant::NONE,
880         .filterCfg_ = "",
881     },
882     {
883         .name_ = "",
884         .desc_ = "",
885         .target_ = "",
886         .section_ = "",
887         .class_ = DumperConstant::FD_OUTPUT,
888         .level_ = DumperConstant::NONE,
889         .loop_ = DumperConstant::NONE,
890         .filterCfg_ = "",
891     },
892     {
893         .name_ = "",
894         .desc_ = "",
895         .target_ = "/sys/kernel/debug/binder/transaction_log",
896         .section_ = "",
897         .class_ = DumperConstant::FILE_DUMPER,
898         .level_ = DumperConstant::NONE,
899         .loop_ = DumperConstant::NONE,
900         .filterCfg_ = "",
901     },
902     {
903         .name_ = "",
904         .desc_ = "",
905         .target_ = "",
906         .section_ = "",
907         .class_ = DumperConstant::FD_OUTPUT,
908         .level_ = DumperConstant::NONE,
909         .loop_ = DumperConstant::NONE,
910         .filterCfg_ = "",
911     },
912     {
913         .name_ = "",
914         .desc_ = "",
915         .target_ = "/sys/kernel/debug/binder/transactions",
916         .section_ = "",
917         .class_ = DumperConstant::FILE_DUMPER,
918         .level_ = DumperConstant::NONE,
919         .loop_ = DumperConstant::NONE,
920         .filterCfg_ = "",
921     },
922     {
923         .name_ = "",
924         .desc_ = "",
925         .target_ = "",
926         .section_ = "",
927         .class_ = DumperConstant::FD_OUTPUT,
928         .level_ = DumperConstant::NONE,
929         .loop_ = DumperConstant::NONE,
930         .filterCfg_ = "",
931     },
932     {
933         .name_ = "",
934         .desc_ = "",
935         .target_ = "/sys/kernel/debug/binder/stats",
936         .section_ = "",
937         .class_ = DumperConstant::FILE_DUMPER,
938         .level_ = DumperConstant::NONE,
939         .loop_ = DumperConstant::NONE,
940         .filterCfg_ = "",
941     },
942     {
943         .name_ = "",
944         .desc_ = "",
945         .target_ = "",
946         .section_ = "",
947         .class_ = DumperConstant::FD_OUTPUT,
948         .level_ = DumperConstant::NONE,
949         .loop_ = DumperConstant::NONE,
950         .filterCfg_ = "",
951     },
952     {
953         .name_ = "",
954         .desc_ = "",
955         .target_ = "/sys/kernel/debug/binder/state",
956         .section_ = "",
957         .class_ = DumperConstant::FILE_DUMPER,
958         .level_ = DumperConstant::NONE,
959         .loop_ = DumperConstant::NONE,
960         .filterCfg_ = "",
961     },
962     {
963         .name_ = "",
964         .desc_ = "",
965         .target_ = "",
966         .section_ = "",
967         .class_ = DumperConstant::FD_OUTPUT,
968         .level_ = DumperConstant::NONE,
969         .loop_ = DumperConstant::NONE,
970         .filterCfg_ = "",
971     },
972 };
973 
974 const ConfigData::ItemCfg ConfigData::ipRulesDumper_[] = {
975     {
976         .name_ = "dumper_ip_rules",
977         .desc_ = "IP RULES v4/6",
978         .target_ = "ip link",
979         .section_ = "",
980         .class_ = DumperConstant::CMD_DUMPER,
981         .level_ = DumperConstant::NONE,
982         .loop_ = DumperConstant::NONE,
983         .filterCfg_ = "",
984     },
985     {
986         .name_ = "",
987         .desc_ = "",
988         .target_ = "",
989         .section_ = "",
990         .class_ = DumperConstant::FD_OUTPUT,
991         .level_ = DumperConstant::NONE,
992         .loop_ = DumperConstant::NONE,
993         .filterCfg_ = "",
994     },
995     {
996         .name_ = "",
997         .desc_ = "",
998         .target_ = "ip -4 addr show",
999         .section_ = "",
1000         .class_ = DumperConstant::CMD_DUMPER,
1001         .level_ = DumperConstant::NONE,
1002         .loop_ = DumperConstant::NONE,
1003         .filterCfg_ = "",
1004     },
1005     {
1006         .name_ = "",
1007         .desc_ = "",
1008         .target_ = "",
1009         .section_ = "",
1010         .class_ = DumperConstant::FD_OUTPUT,
1011         .level_ = DumperConstant::NONE,
1012         .loop_ = DumperConstant::NONE,
1013         .filterCfg_ = "",
1014     },
1015     {
1016         .name_ = "",
1017         .desc_ = "",
1018         .target_ = "ip -6 addr show",
1019         .section_ = "",
1020         .class_ = DumperConstant::CMD_DUMPER,
1021         .level_ = DumperConstant::NONE,
1022         .loop_ = DumperConstant::NONE,
1023         .filterCfg_ = "",
1024     },
1025     {
1026         .name_ = "",
1027         .desc_ = "",
1028         .target_ = "",
1029         .section_ = "",
1030         .class_ = DumperConstant::FD_OUTPUT,
1031         .level_ = DumperConstant::NONE,
1032         .loop_ = DumperConstant::NONE,
1033         .filterCfg_ = "",
1034     },
1035     {
1036         .name_ = "",
1037         .desc_ = "",
1038         .target_ = "ip rule show",
1039         .section_ = "",
1040         .class_ = DumperConstant::CMD_DUMPER,
1041         .level_ = DumperConstant::NONE,
1042         .loop_ = DumperConstant::NONE,
1043         .filterCfg_ = "",
1044     },
1045     {
1046         .name_ = "",
1047         .desc_ = "",
1048         .target_ = "",
1049         .section_ = "",
1050         .class_ = DumperConstant::FD_OUTPUT,
1051         .level_ = DumperConstant::NONE,
1052         .loop_ = DumperConstant::NONE,
1053         .filterCfg_ = "",
1054     },
1055     {
1056         .name_ = "",
1057         .desc_ = "",
1058         .target_ = "ip -6 rule show",
1059         .section_ = "",
1060         .class_ = DumperConstant::CMD_DUMPER,
1061         .level_ = DumperConstant::NONE,
1062         .loop_ = DumperConstant::NONE,
1063         .filterCfg_ = "",
1064     },
1065     {
1066         .name_ = "",
1067         .desc_ = "",
1068         .target_ = "",
1069         .section_ = "",
1070         .class_ = DumperConstant::FD_OUTPUT,
1071         .level_ = DumperConstant::NONE,
1072         .loop_ = DumperConstant::NONE,
1073         .filterCfg_ = "",
1074     },
1075 };
1076 
1077 const ConfigData::ItemCfg ConfigData::storageStateDumper_[] = {
1078     {
1079         .name_ = "dumper_storage_state",
1080         .desc_ = "Storage State",
1081         .target_ = "storaged -u -p",
1082         .section_ = "",
1083         .class_ = DumperConstant::CMD_DUMPER,
1084         .level_ = DumperConstant::NONE,
1085         .loop_ = DumperConstant::NONE,
1086         .filterCfg_ = "",
1087     },
1088     {
1089         .name_ = "",
1090         .desc_ = "",
1091         .target_ = "",
1092         .section_ = "",
1093         .class_ = DumperConstant::FD_OUTPUT,
1094         .level_ = DumperConstant::NONE,
1095         .loop_ = DumperConstant::NONE,
1096         .filterCfg_ = "",
1097     },
1098 };
1099 
1100 const ConfigData::ItemCfg ConfigData::blockDumper_[] = {
1101     {
1102         .name_ = "dumper_block",
1103         .desc_ = "Block Information",
1104         .target_ = "df -k",
1105         .section_ = "",
1106         .class_ = DumperConstant::CMD_DUMPER,
1107         .level_ = DumperConstant::NONE,
1108         .loop_ = DumperConstant::NONE,
1109         .filterCfg_ = "",
1110     },
1111     {
1112         .name_ = "",
1113         .desc_ = "",
1114         .target_ = "",
1115         .section_ = "",
1116         .class_ = DumperConstant::FD_OUTPUT,
1117         .level_ = DumperConstant::NONE,
1118         .loop_ = DumperConstant::NONE,
1119         .filterCfg_ = "",
1120     },
1121 };
1122 
1123 const ConfigData::ItemCfg ConfigData::fileDumper_[] = {
1124     {
1125         .name_ = "dumper_file",
1126         .desc_ = "File Information",
1127         .target_ = "lsof",
1128         .section_ = "",
1129         .class_ = DumperConstant::CMD_DUMPER,
1130         .level_ = DumperConstant::NONE,
1131         .loop_ = DumperConstant::NONE,
1132         .filterCfg_ = "",
1133     },
1134     {
1135         .name_ = "",
1136         .desc_ = "",
1137         .target_ = "",
1138         .section_ = "",
1139         .class_ = DumperConstant::FD_OUTPUT,
1140         .level_ = DumperConstant::NONE,
1141         .loop_ = DumperConstant::NONE,
1142         .filterCfg_ = "",
1143     },
1144 };
1145 
1146 const ConfigData::ItemCfg ConfigData::topIoDumper_[] = {
1147     {
1148         .name_ = "dumper_top_io",
1149         .desc_ = "TOP IO Information",
1150         .target_ = "iotop -n 1 -m 100",
1151         .section_ = "",
1152         .class_ = DumperConstant::CMD_DUMPER,
1153         .level_ = DumperConstant::NONE,
1154         .loop_ = DumperConstant::NONE,
1155         .filterCfg_ = "",
1156     },
1157     {
1158         .name_ = "",
1159         .desc_ = "",
1160         .target_ = "",
1161         .section_ = "",
1162         .class_ = DumperConstant::FILE_FORMAT_DUMP_FILTER,
1163         .level_ = DumperConstant::LEVEL_ALL,
1164         .loop_ = DumperConstant::NONE,
1165         .filterCfg_ = "",
1166     },
1167     {
1168         .name_ = "",
1169         .desc_ = "",
1170         .target_ = "",
1171         .section_ = "",
1172         .class_ = DumperConstant::FD_OUTPUT,
1173         .level_ = DumperConstant::NONE,
1174         .loop_ = DumperConstant::NONE,
1175         .filterCfg_ = "",
1176     },
1177 };
1178 
1179 const ConfigData::ItemCfg ConfigData::mountsDumper_[] = {
1180     {
1181         .name_ = "dumper_mounts",
1182         .desc_ = "Mount List",
1183         .target_ = "/proc/mounts",
1184         .section_ = "",
1185         .class_ = DumperConstant::FILE_DUMPER,
1186         .level_ = DumperConstant::NONE,
1187         .loop_ = DumperConstant::NONE,
1188         .filterCfg_ = "",
1189     },
1190     {
1191         .name_ = "",
1192         .desc_ = "",
1193         .target_ = "",
1194         .section_ = "",
1195         .class_ = DumperConstant::FD_OUTPUT,
1196         .level_ = DumperConstant::NONE,
1197         .loop_ = DumperConstant::NONE,
1198         .filterCfg_ = "",
1199     },
1200 };
1201 
1202 const ConfigData::ItemCfg ConfigData::threadsDumper_[] = {
1203     {
1204         .name_ = "dumper_threads",
1205         .desc_ = "Processes/Threads List",
1206         .target_ = "ps -efT",
1207         .section_ = "",
1208         .class_ = DumperConstant::CMD_DUMPER,
1209         .level_ = DumperConstant::NONE,
1210         .loop_ = DumperConstant::NONE,
1211         .filterCfg_ = "",
1212     },
1213     {
1214         .name_ = "",
1215         .desc_ = "",
1216         .target_ = "",
1217         .section_ = "",
1218         .class_ = DumperConstant::FD_OUTPUT,
1219         .level_ = DumperConstant::NONE,
1220         .loop_ = DumperConstant::NONE,
1221         .filterCfg_ = "",
1222     },
1223 };
1224 
1225 const ConfigData::ItemCfg ConfigData::threadsPidDumper_[] = {
1226     {
1227         .name_ = "dumper_threads_pid",
1228         .desc_ = "Processes/Threads List",
1229         .target_ = "ps -efT -p %pid",
1230         .section_ = "",
1231         .class_ = DumperConstant::CMD_DUMPER,
1232         .level_ = DumperConstant::NONE,
1233         .loop_ = DumperConstant::NONE,
1234         .filterCfg_ = "",
1235     },
1236     {
1237         .name_ = "",
1238         .desc_ = "",
1239         .target_ = "",
1240         .section_ = "",
1241         .class_ = DumperConstant::FD_OUTPUT,
1242         .level_ = DumperConstant::NONE,
1243         .loop_ = DumperConstant::NONE,
1244         .filterCfg_ = "",
1245     },
1246 };
1247 
1248 const ConfigData::ItemCfg ConfigData::smapDumper_[] = {
1249     {
1250         .name_ = "dumper_smap",
1251         .desc_ = "Process SMAP Information",
1252         .target_ = "/proc/%pid/smaps",
1253         .section_ = "",
1254         .class_ = DumperConstant::FILE_DUMPER,
1255         .level_ = DumperConstant::NONE,
1256         .loop_ = DumperConstant::LOOP,
1257         .filterCfg_ = "",
1258     },
1259     {
1260         .name_ = "",
1261         .desc_ = "",
1262         .target_ = "",
1263         .section_ = "",
1264         .class_ = DumperConstant::FD_OUTPUT,
1265         .level_ = DumperConstant::NONE,
1266         .loop_ = DumperConstant::LOOP,
1267         .filterCfg_ = "",
1268     },
1269 };
1270 
1271 const ConfigData::ItemCfg ConfigData::mapDumper_[] = {
1272     {
1273         .name_ = "dumper_map",
1274         .desc_ = "Process MAP Information",
1275         .target_ = "/proc/%pid/maps",
1276         .section_ = "",
1277         .class_ = DumperConstant::FILE_DUMPER,
1278         .level_ = DumperConstant::NONE,
1279         .loop_ = DumperConstant::LOOP,
1280         .filterCfg_ = "",
1281     },
1282     {
1283         .name_ = "",
1284         .desc_ = "",
1285         .target_ = "",
1286         .section_ = "",
1287         .class_ = DumperConstant::FD_OUTPUT,
1288         .level_ = DumperConstant::NONE,
1289         .loop_ = DumperConstant::LOOP,
1290         .filterCfg_ = "",
1291     },
1292 };
1293 
1294 const ConfigData::ItemCfg ConfigData::blockChannelDumper_[] = {
1295     {
1296         .name_ = "dumper_block_channel",
1297         .desc_ = "Block Channel",
1298         .target_ = "/proc/%pid/wchan",
1299         .section_ = "",
1300         .class_ = DumperConstant::FILE_DUMPER,
1301         .level_ = DumperConstant::NONE,
1302         .loop_ = DumperConstant::NONE,
1303         .filterCfg_ = "",
1304     },
1305     {
1306         .name_ = "",
1307         .desc_ = "",
1308         .target_ = "",
1309         .section_ = "",
1310         .class_ = DumperConstant::FD_OUTPUT,
1311         .level_ = DumperConstant::NONE,
1312         .loop_ = DumperConstant::NONE,
1313         .filterCfg_ = "",
1314     },
1315 };
1316 
1317 const ConfigData::ItemCfg ConfigData::excuteTimeDumper_[] = {
1318     {
1319         .name_ = "dumper_excute_time",
1320         .desc_ = "Excute Time",
1321         .target_ = "ps -o \"TIME\" -p %pid",
1322         .section_ = "",
1323         .class_ = DumperConstant::CMD_DUMPER,
1324         .level_ = DumperConstant::NONE,
1325         .loop_ = DumperConstant::NONE,
1326         .filterCfg_ = "",
1327     },
1328     {
1329         .name_ = "",
1330         .desc_ = "",
1331         .target_ = "",
1332         .section_ = "",
1333         .class_ = DumperConstant::FD_OUTPUT,
1334         .level_ = DumperConstant::NONE,
1335         .loop_ = DumperConstant::NONE,
1336         .filterCfg_ = "",
1337     },
1338 };
1339 
1340 const ConfigData::ItemCfg ConfigData::mountInfoDumper_[] = {
1341     {
1342         .name_ = "dumper_mount_info",
1343         .desc_ = "Mount Information",
1344         .target_ = "/proc/%pid/mountinfo",
1345         .section_ = "",
1346         .class_ = DumperConstant::FILE_DUMPER,
1347         .level_ = DumperConstant::NONE,
1348         .loop_ = DumperConstant::LOOP,
1349         .filterCfg_ = "",
1350     },
1351     {
1352         .name_ = "",
1353         .desc_ = "",
1354         .target_ = "",
1355         .section_ = "",
1356         .class_ = DumperConstant::FD_OUTPUT,
1357         .level_ = DumperConstant::NONE,
1358         .loop_ = DumperConstant::LOOP,
1359         .filterCfg_ = "",
1360     },
1361 };
1362 
1363 const ConfigData::ItemCfg ConfigData::systemAbilityDumper_[] = {
1364     {
1365         .name_ = "dumper_system_ability",
1366         .desc_ = "System Ability Information",
1367         .target_ = ConfigData::STR_ABILITY,
1368         .section_ = "",
1369         .class_ = DumperConstant::SA_DUMPER,
1370         .level_ = DumperConstant::NONE,
1371         .loop_ = DumperConstant::NONE,
1372         .filterCfg_ = "",
1373     },
1374     {
1375         .name_ = "",
1376         .desc_ = "",
1377         .target_ = "",
1378         .section_ = "",
1379         .class_ = DumperConstant::FD_OUTPUT,
1380         .level_ = DumperConstant::NONE,
1381         .loop_ = DumperConstant::NONE,
1382         .filterCfg_ = "",
1383     },
1384 };
1385 
1386 const ConfigData::ItemCfg ConfigData::stackDumper_[] = {
1387     {
1388         .name_ = "dumper_stack",
1389         .desc_ = "Dump Stack Info",
1390         .target_ = "dumpcatcher -p %pid",
1391         .section_ = "",
1392         .class_ = DumperConstant::CMD_DUMPER,
1393         .level_ = DumperConstant::NONE,
1394         .loop_ = DumperConstant::NONE,
1395         .filterCfg_ = "",
1396     },
1397     {
1398         .name_ = "",
1399         .desc_ = "",
1400         .target_ = "",
1401         .section_ = "",
1402         .class_ = DumperConstant::FD_OUTPUT,
1403         .level_ = DumperConstant::NONE,
1404         .loop_ = DumperConstant::NONE,
1405         .filterCfg_ = "",
1406     },
1407 };
1408 
1409 const ConfigData::ItemCfg ConfigData::listServiceDumper_[] = {
1410     {
1411         .name_ = ConfigData::CONFIG_DUMPER_LIST_SERVICE,
1412         .desc_ = "list service",
1413         .target_ = ConfigData::STR_SERVICE,
1414         .section_ = "",
1415         .class_ = DumperConstant::LIST_DUMPER,
1416         .level_ = DumperConstant::NONE,
1417         .loop_ = DumperConstant::NONE,
1418         .filterCfg_ = "",
1419     },
1420     {
1421         .name_ = "",
1422         .desc_ = "",
1423         .target_ = "",
1424         .section_ = "",
1425         .class_ = DumperConstant::FD_OUTPUT,
1426         .level_ = DumperConstant::NONE,
1427         .loop_ = DumperConstant::NONE,
1428         .filterCfg_ = "",
1429     },
1430 };
1431 
1432 const ConfigData::ItemCfg ConfigData::listSystemAbilityDumper_[] = {
1433     {
1434         .name_ = ConfigData::CONFIG_DUMPER_LIST_SYSTEM_ABILITY,
1435         .desc_ = "list system ability",
1436         .target_ = ConfigData::STR_ABILITY,
1437         .section_ = "",
1438         .class_ = DumperConstant::LIST_DUMPER,
1439         .level_ = DumperConstant::NONE,
1440         .loop_ = DumperConstant::NONE,
1441         .filterCfg_ = "",
1442     },
1443     {
1444         .name_ = "",
1445         .desc_ = "",
1446         .target_ = "",
1447         .section_ = "",
1448         .class_ = DumperConstant::FD_OUTPUT,
1449         .level_ = DumperConstant::NONE,
1450         .loop_ = DumperConstant::NONE,
1451         .filterCfg_ = "",
1452     },
1453 };
1454 
1455 const ConfigData::ItemCfg ConfigData::listSystemDumper_[] = {
1456     {
1457         .name_ = ConfigData::CONFIG_DUMPER_LIST_SYSTEM,
1458         .desc_ = "list system",
1459         .target_ = ConfigData::STR_SYSTEM,
1460         .section_ = "",
1461         .class_ = DumperConstant::LIST_DUMPER,
1462         .level_ = DumperConstant::NONE,
1463         .loop_ = DumperConstant::NONE,
1464         .filterCfg_ = "",
1465     },
1466     {
1467         .name_ = "",
1468         .desc_ = "",
1469         .target_ = "",
1470         .section_ = "",
1471         .class_ = DumperConstant::FD_OUTPUT,
1472         .level_ = DumperConstant::NONE,
1473         .loop_ = DumperConstant::NONE,
1474         .filterCfg_ = "",
1475     },
1476 };
1477 
1478 const ConfigData::ItemCfg ConfigData::testDumper_[] = {
1479     {
1480         .name_ = "dumper_test",
1481         .desc_ = "test used dumper",
1482         .target_ = "/data/local/tmp/hidumper_mockdata_0001.txt",
1483         .section_ = "",
1484         .class_ = DumperConstant::FILE_DUMPER,
1485         .level_ = DumperConstant::NONE,
1486         .loop_ = DumperConstant::NONE,
1487         .filterCfg_ = "",
1488     },
1489     {
1490         .name_ = "",
1491         .desc_ = "",
1492         .target_ = "",
1493         .section_ = "",
1494         .class_ = DumperConstant::FD_OUTPUT,
1495         .level_ = DumperConstant::NONE,
1496         .loop_ = DumperConstant::NONE,
1497         .filterCfg_ = "",
1498     },
1499     {
1500         .name_ = "",
1501         .desc_ = "",
1502         .target_ = "cat /data/local/tmp/hidumper_mockdata_0002.txt",
1503         .section_ = "",
1504         .class_ = DumperConstant::CMD_DUMPER,
1505         .level_ = DumperConstant::NONE,
1506         .loop_ = DumperConstant::NONE,
1507         .filterCfg_ = "",
1508     },
1509     {
1510         .name_ = "",
1511         .desc_ = "",
1512         .target_ = "",
1513         .section_ = "",
1514         .class_ = DumperConstant::FD_OUTPUT,
1515         .level_ = DumperConstant::NONE,
1516         .loop_ = DumperConstant::NONE,
1517         .filterCfg_ = "",
1518     },
1519 };
1520 
1521 const ConfigData::DumperCfg ConfigData::dumpers_[] = {
1522     {.name_ = baseInfoDumper_[0].name_,
1523      .desc_ = baseInfoDumper_[0].desc_,
1524      .list_ = baseInfoDumper_,
1525      .size_ = ARRAY_SIZE(baseInfoDumper_)},
1526     {.name_ = kernelVersionDumper_[0].name_,
1527      .desc_ = kernelVersionDumper_[0].desc_,
1528      .list_ = kernelVersionDumper_,
1529      .size_ = ARRAY_SIZE(kernelVersionDumper_)},
1530     {.name_ = cmdlineDumper_[0].name_,
1531      .desc_ = cmdlineDumper_[0].desc_,
1532      .list_ = cmdlineDumper_,
1533      .size_ = ARRAY_SIZE(cmdlineDumper_)},
1534     {.name_ = kernelWakeSourcesDumper_[0].name_,
1535      .desc_ = kernelWakeSourcesDumper_[0].desc_,
1536      .list_ = kernelWakeSourcesDumper_,
1537      .size_ = ARRAY_SIZE(kernelWakeSourcesDumper_)},
1538     {.name_ = kernelCpufreqDumper_[0].name_,
1539      .desc_ = kernelCpufreqDumper_[0].desc_,
1540      .list_ = kernelCpufreqDumper_,
1541      .size_ = ARRAY_SIZE(kernelCpufreqDumper_)},
1542     {.name_ = uptimeDumper_[0].name_,
1543      .desc_ = uptimeDumper_[0].desc_,
1544      .list_ = uptimeDumper_,
1545      .size_ = ARRAY_SIZE(uptimeDumper_)},
1546     {.name_ = cpuUsageDumper_[0].name_,
1547      .desc_ = cpuUsageDumper_[0].desc_,
1548      .list_ = cpuUsageDumper_,
1549      .size_ = ARRAY_SIZE(cpuUsageDumper_)},
1550     {.name_ = cpuFreqDumper_[0].name_,
1551      .desc_ = cpuFreqDumper_[0].desc_,
1552      .list_ = cpuFreqDumper_,
1553      .size_ = ARRAY_SIZE(cpuFreqDumper_)},
1554     {.name_ = memDumper_[0].name_, .desc_ = memDumper_[0].desc_, .list_ = memDumper_, .size_ = ARRAY_SIZE(memDumper_)},
1555     {.name_ = envDumper_[0].name_, .desc_ = envDumper_[0].desc_, .list_ = envDumper_, .size_ = ARRAY_SIZE(envDumper_)},
1556     {.name_ = kernelModuleDumper_[0].name_,
1557      .desc_ = kernelModuleDumper_[0].desc_,
1558      .list_ = kernelModuleDumper_,
1559      .size_ = ARRAY_SIZE(kernelModuleDumper_)},
1560     {.name_ = dumpFormatVersionDumper_[0].name_,
1561      .desc_ = dumpFormatVersionDumper_[0].desc_,
1562      .list_ = dumpFormatVersionDumper_,
1563      .size_ = ARRAY_SIZE(dumpFormatVersionDumper_)},
1564     {.name_ = slabinfoDumper_[0].name_,
1565      .desc_ = slabinfoDumper_[0].desc_,
1566      .list_ = slabinfoDumper_,
1567      .size_ = ARRAY_SIZE(slabinfoDumper_)},
1568     {.name_ = zoneinfoDumper_[0].name_,
1569      .desc_ = zoneinfoDumper_[0].desc_,
1570      .list_ = zoneinfoDumper_,
1571      .size_ = ARRAY_SIZE(zoneinfoDumper_)},
1572     {.name_ = vmStatDumper_[0].name_,
1573      .desc_ = vmStatDumper_[0].desc_,
1574      .list_ = vmStatDumper_,
1575      .size_ = ARRAY_SIZE(vmStatDumper_)},
1576     {.name_ = vmAllocInfoDumper_[0].name_,
1577      .desc_ = vmAllocInfoDumper_[0].desc_,
1578      .list_ = vmAllocInfoDumper_,
1579      .size_ = ARRAY_SIZE(vmAllocInfoDumper_)},
1580     {.name_ = crashDumper_[0].name_,
1581      .desc_ = crashDumper_[0].desc_,
1582      .list_ = crashDumper_,
1583      .size_ = ARRAY_SIZE(crashDumper_)},
1584     {.name_ = kernelLogDumper_[0].name_,
1585      .desc_ = kernelLogDumper_[0].desc_,
1586      .list_ = kernelLogDumper_,
1587      .size_ = ARRAY_SIZE(kernelLogDumper_)},
1588     {.name_ = hilogDumper_[0].name_,
1589      .desc_ = hilogDumper_[0].desc_,
1590      .list_ = hilogDumper_,
1591      .size_ = ARRAY_SIZE(hilogDumper_)},
1592     {.name_ = portDumper_[0].name_,
1593      .desc_ = portDumper_[0].desc_,
1594      .list_ = portDumper_,
1595      .size_ = ARRAY_SIZE(portDumper_)},
1596     {.name_ = packetDumper_[0].name_,
1597      .desc_ = packetDumper_[0].desc_,
1598      .list_ = packetDumper_,
1599      .size_ = ARRAY_SIZE(packetDumper_)},
1600     {.name_ = ipDumper_[0].name_, .desc_ = ipDumper_[0].desc_, .list_ = ipDumper_, .size_ = ARRAY_SIZE(ipDumper_)},
1601     {.name_ = ipTableDumper_[0].name_,
1602      .desc_ = ipTableDumper_[0].desc_,
1603      .list_ = ipTableDumper_,
1604      .size_ = ARRAY_SIZE(ipTableDumper_)},
1605     {.name_ = routeTableDumper_[0].name_,
1606      .desc_ = routeTableDumper_[0].desc_,
1607      .list_ = routeTableDumper_,
1608      .size_ = ARRAY_SIZE(routeTableDumper_)},
1609     {.name_ = ipcDumper_[0].name_, .desc_ = ipcDumper_[0].desc_, .list_ = ipcDumper_, .size_ = ARRAY_SIZE(ipcDumper_)},
1610     {.name_ = ipRulesDumper_[0].name_,
1611      .desc_ = ipRulesDumper_[0].desc_,
1612      .list_ = ipRulesDumper_,
1613      .size_ = ARRAY_SIZE(ipRulesDumper_)},
1614     {.name_ = storageStateDumper_[0].name_,
1615      .desc_ = storageStateDumper_[0].desc_,
1616      .list_ = storageStateDumper_,
1617      .size_ = ARRAY_SIZE(storageStateDumper_)},
1618     {.name_ = blockDumper_[0].name_,
1619      .desc_ = blockDumper_[0].desc_,
1620      .list_ = blockDumper_,
1621      .size_ = ARRAY_SIZE(blockDumper_)},
1622     {.name_ = fileDumper_[0].name_,
1623      .desc_ = fileDumper_[0].desc_,
1624      .list_ = fileDumper_,
1625      .size_ = ARRAY_SIZE(fileDumper_)},
1626     {.name_ = topIoDumper_[0].name_,
1627      .desc_ = topIoDumper_[0].desc_,
1628      .list_ = topIoDumper_,
1629      .size_ = ARRAY_SIZE(topIoDumper_)},
1630     {.name_ = mountsDumper_[0].name_,
1631      .desc_ = mountsDumper_[0].desc_,
1632      .list_ = mountsDumper_,
1633      .size_ = ARRAY_SIZE(mountsDumper_)},
1634     {.name_ = threadsDumper_[0].name_,
1635      .desc_ = threadsDumper_[0].desc_,
1636      .list_ = threadsDumper_,
1637      .size_ = ARRAY_SIZE(threadsDumper_)},
1638     {.name_ = threadsPidDumper_[0].name_,
1639      .desc_ = threadsPidDumper_[0].desc_,
1640      .list_ = threadsPidDumper_,
1641      .size_ = ARRAY_SIZE(threadsPidDumper_)},
1642     {.name_ = smapDumper_[0].name_,
1643      .desc_ = smapDumper_[0].desc_,
1644      .list_ = smapDumper_,
1645      .size_ = ARRAY_SIZE(smapDumper_)},
1646     {.name_ = mapDumper_[0].name_, .desc_ = mapDumper_[0].desc_, .list_ = mapDumper_, .size_ = ARRAY_SIZE(mapDumper_)},
1647     {.name_ = blockChannelDumper_[0].name_,
1648      .desc_ = blockChannelDumper_[0].desc_,
1649      .list_ = blockChannelDumper_,
1650      .size_ = ARRAY_SIZE(blockChannelDumper_)},
1651     {.name_ = excuteTimeDumper_[0].name_,
1652      .desc_ = excuteTimeDumper_[0].desc_,
1653      .list_ = excuteTimeDumper_,
1654      .size_ = ARRAY_SIZE(excuteTimeDumper_)},
1655     {.name_ = mountInfoDumper_[0].name_,
1656      .desc_ = mountInfoDumper_[0].desc_,
1657      .list_ = mountInfoDumper_,
1658      .size_ = ARRAY_SIZE(mountInfoDumper_)},
1659     {.name_ = systemAbilityDumper_[0].name_,
1660      .desc_ = systemAbilityDumper_[0].desc_,
1661      .list_ = systemAbilityDumper_,
1662      .size_ = ARRAY_SIZE(systemAbilityDumper_)},
1663     {.name_ = stackDumper_[0].name_,
1664      .desc_ = stackDumper_[0].desc_,
1665      .list_ = stackDumper_,
1666      .size_ = ARRAY_SIZE(stackDumper_)},
1667     {.name_ = listServiceDumper_[0].name_,
1668      .desc_ = listServiceDumper_[0].desc_,
1669      .list_ = listServiceDumper_,
1670      .size_ = ARRAY_SIZE(listServiceDumper_)},
1671     {.name_ = listSystemAbilityDumper_[0].name_,
1672      .desc_ = listSystemAbilityDumper_[0].desc_,
1673      .list_ = listSystemAbilityDumper_,
1674      .size_ = ARRAY_SIZE(listSystemAbilityDumper_)},
1675     {.name_ = listSystemDumper_[0].name_,
1676      .desc_ = listSystemDumper_[0].desc_,
1677      .list_ = listSystemDumper_,
1678      .size_ = ARRAY_SIZE(listSystemDumper_)},
1679     {.name_ = testDumper_[0].name_,
1680      .desc_ = testDumper_[0].desc_,
1681      .list_ = testDumper_,
1682      .size_ = ARRAY_SIZE(testDumper_)},
1683 };
1684 
1685 const std::string ConfigData::cpuFreqGroup_[] = {
1686     "dumper_cpu_freq",
1687 };
1688 
1689 const std::string ConfigData::cpuUsageGroup_[] = {
1690     "dumper_cpu_usage",
1691 };
1692 
1693 const std::string ConfigData::logKernelGroup_[] = {
1694     "dumper_kernel_log",
1695 };
1696 
1697 const std::string ConfigData::logHilogGroup_[] = {
1698     "dumper_hilog",
1699 };
1700 
1701 const std::string ConfigData::logInitGroup_[] = {
1702     "cpu_dumper_name_000",
1703 };
1704 
1705 const std::string ConfigData::memoryGroup_[] = {
1706     "dumper_mem",
1707 };
1708 
1709 const std::string ConfigData::storageGroup_[] = {
1710     "dumper_storage_state", "dumper_block", "dumper_file", "dumper_top_io", "dumper_mounts",
1711 };
1712 
1713 const std::string ConfigData::netGroup_[] = {
1714     "dumper_port",        "dumper_packet", "dumper_ip",       "dumper_ip_table",
1715     "dumper_route_table", "dumper_ipc",    "dumper_ip_rules",
1716 };
1717 
1718 const std::string ConfigData::serviceGroup_[] = {
1719     "mem_dumper_name_000",
1720 };
1721 
1722 const std::string ConfigData::systemAbilityGroup_[] = {
1723     "dumper_system_ability",
1724 };
1725 
1726 const std::string ConfigData::systemBaseGroup_[] = {
1727     "dumper_base_info",           "dumper_kernel_version", "dumper_command_line",
1728     "dumper_kernel_wake_sources", "dumper_uptime",
1729 };
1730 
1731 const std::string ConfigData::systemBaseCpuIdGroupMini_[] = {
1732     "dumper_kernel_cpu_freq",
1733 };
1734 
1735 const std::string ConfigData::systemSystemGroup_[] = {
1736     "dumper_env",
1737     "dumper_kernel_module",
1738     "dumper_dump_format_version",
1739     "dumper_slabinfo",
1740     "dumper_zoneinfo",
1741     "dumper_vmstat",
1742     "dumper_vmallocinfo",
1743     "groupmini_cpuid_expand_systemSystemGroup",
1744     "groupmini_pid_nonexpand_systemSystemGroup",
1745 };
1746 
1747 const std::string ConfigData::systemSystemCpuIdGroupMini_[] = {
1748     "dumper_cpu_freq",
1749 };
1750 
1751 const std::string ConfigData::systemSystemPidGroupMini_[] = {
1752     "dumper_cpu_usage",
1753     "dumper_mem",
1754 };
1755 
1756 const std::string ConfigData::processesGroup_[] = {
1757     "dumper_threads",
1758     "groupmini_expand_processesGroup",
1759 };
1760 
1761 const std::string ConfigData::processesGroup_eng_[] = {
1762     "dumper_threads",
1763     "groupmini_expand_processesGroup_eng",
1764 };
1765 
1766 const std::string ConfigData::processesPidGroup_[] = {
1767     "groupmini_pid_expand_processesGroup",
1768 };
1769 
1770 const std::string ConfigData::processesPidGroup_eng_[] = {
1771     "groupmini_pid_expand_processesGroup_eng",
1772 };
1773 
1774 const std::string ConfigData::processesGroupMini_[] = {
1775     "dumper_block_channel",
1776     "dumper_excute_time",
1777     "dumper_mount_info",
1778 };
1779 
1780 const std::string ConfigData::processesGroupMini_eng_[] = {
1781     "dumper_map",
1782     "dumper_block_channel",
1783     "dumper_excute_time",
1784     "dumper_mount_info",
1785 };
1786 
1787 const std::string ConfigData::processesPidGroupMini_[] = {
1788     "dumper_threads_pid",
1789     "dumper_block_channel",
1790     "dumper_excute_time",
1791     "dumper_mount_info",
1792 };
1793 
1794 const std::string ConfigData::processesPidGroupMini_eng_[] = {
1795     "dumper_threads_pid",
1796     "dumper_map",
1797     "dumper_block_channel",
1798     "dumper_excute_time",
1799     "dumper_mount_info",
1800 };
1801 
1802 const std::string ConfigData::faultLogGroup_[] = {
1803     "dumper_crash",
1804 };
1805 
1806 const std::string ConfigData::stackGroup_[] = {
1807     "dumper_stack",
1808 };
1809 
1810 const std::string ConfigData::testGroup_[] = {
1811     "dumper_test",
1812 };
1813 
1814 const ConfigData::GroupCfg ConfigData::groups_[] = {
1815     {
1816         .name_ = ConfigData::CONFIG_GROUP_CPU_FREQ,
1817         .desc_ = "group of cpu freq dumper",
1818         .list_ = cpuFreqGroup_,
1819         .size_ = ARRAY_SIZE(cpuFreqGroup_),
1820         .type_ = DumperConstant::GROUPTYPE_CPUID,
1821         .expand_ = true,
1822     },
1823     {
1824         .name_ = ConfigData::CONFIG_GROUP_CPU_USAGE,
1825         .desc_ = "group of cpu usage dumper",
1826         .list_ = cpuUsageGroup_,
1827         .size_ = ARRAY_SIZE(cpuUsageGroup_),
1828         .type_ = DumperConstant::GROUPTYPE_PID,
1829         .expand_ = false,
1830     },
1831     {
1832         .name_ = ConfigData::CONFIG_GROUP_LOG_KERNEL,
1833         .desc_ = "group of kernel log dumper",
1834         .list_ = logKernelGroup_,
1835         .size_ = ARRAY_SIZE(logKernelGroup_),
1836         .type_ = DumperConstant::NONE,
1837         .expand_ = false,
1838     },
1839     {
1840         .name_ = ConfigData::CONFIG_GROUP_LOG_HILOG,
1841         .desc_ = "group of hilog dumper",
1842         .list_ = logHilogGroup_,
1843         .size_ = ARRAY_SIZE(logHilogGroup_),
1844         .type_ = DumperConstant::NONE,
1845         .expand_ = false,
1846     },
1847     {
1848         .name_ = ConfigData::CONFIG_GROUP_LOG_INIT,
1849         .desc_ = "group of init log dumper",
1850         .list_ = logInitGroup_,
1851         .size_ = ARRAY_SIZE(logInitGroup_),
1852         .type_ = DumperConstant::NONE,
1853         .expand_ = false,
1854     },
1855     {
1856         .name_ = ConfigData::CONFIG_GROUP_MEMORY,
1857         .desc_ = "group of memory dumper",
1858         .list_ = memoryGroup_,
1859         .size_ = ARRAY_SIZE(memoryGroup_),
1860         .type_ = DumperConstant::GROUPTYPE_PID,
1861         .expand_ = false,
1862     },
1863     {
1864         .name_ = ConfigData::CONFIG_GROUP_STORAGE,
1865         .desc_ = "group of storage dumper",
1866         .list_ = storageGroup_,
1867         .size_ = ARRAY_SIZE(storageGroup_),
1868         .type_ = DumperConstant::NONE,
1869         .expand_ = false,
1870     },
1871     {
1872         .name_ = ConfigData::CONFIG_GROUP_NET,
1873         .desc_ = "group of net dumper",
1874         .list_ = netGroup_,
1875         .size_ = ARRAY_SIZE(netGroup_),
1876         .type_ = DumperConstant::NONE,
1877         .expand_ = false,
1878     },
1879     {
1880         .name_ = ConfigData::CONFIG_GROUP_SERVICE,
1881         .desc_ = "group of service dumper",
1882         .list_ = serviceGroup_,
1883         .size_ = ARRAY_SIZE(serviceGroup_),
1884         .type_ = DumperConstant::NONE,
1885         .expand_ = false,
1886     },
1887     {
1888         .name_ = ConfigData::CONFIG_GROUP_ABILITY,
1889         .desc_ = "group of ability dumper",
1890         .list_ = systemAbilityGroup_,
1891         .size_ = ARRAY_SIZE(systemAbilityGroup_),
1892         .type_ = DumperConstant::NONE,
1893         .expand_ = false,
1894     },
1895     {
1896         .name_ = ConfigData::CONFIG_GROUP_SYSTEM_BASE,
1897         .desc_ = "group of base log dumper",
1898         .list_ = systemBaseGroup_,
1899         .size_ = ARRAY_SIZE(systemBaseGroup_),
1900         .type_ = DumperConstant::NONE,
1901         .expand_ = false,
1902     },
1903     {
1904         .name_ = ConfigData::CONFIG_GROUP_SYSTEM_SYSTEM,
1905         .desc_ = "group of system log dumper",
1906         .list_ = systemSystemGroup_,
1907         .size_ = ARRAY_SIZE(systemSystemGroup_),
1908         .type_ = DumperConstant::NONE,
1909         .expand_ = false,
1910     },
1911     {
1912         .name_ = ConfigData::CONFIG_GROUP_PROCESSES,
1913         .desc_ = "group of processes dumper",
1914         .list_ = processesGroup_,
1915         .size_ = ARRAY_SIZE(processesGroup_),
1916         .type_ = DumperConstant::NONE,
1917         .expand_ = false,
1918     },
1919     {
1920         .name_ = ConfigData::CONFIG_GROUP_PROCESSES_ENG,
1921         .desc_ = "group of processes dumper by eng ",
1922         .list_ = processesGroup_eng_,
1923         .size_ = ARRAY_SIZE(processesGroup_eng_),
1924         .type_ = DumperConstant::NONE,
1925         .expand_ = false,
1926     },
1927     {
1928         .name_ = ConfigData::CONFIG_GROUP_PROCESSES_PID,
1929         .desc_ = "group of processes pid dumper",
1930         .list_ = processesPidGroup_,
1931         .size_ = ARRAY_SIZE(processesPidGroup_),
1932         .type_ = DumperConstant::NONE,
1933         .expand_ = false,
1934     },
1935     {
1936         .name_ = ConfigData::CONFIG_GROUP_PROCESSES_PID_ENG,
1937         .desc_ = "group of processes pid dumper by eng",
1938         .list_ = processesPidGroup_eng_,
1939         .size_ = ARRAY_SIZE(processesPidGroup_eng_),
1940         .type_ = DumperConstant::NONE,
1941         .expand_ = false,
1942     },
1943     {
1944         .name_ = ConfigData::CONFIG_GROUP_FAULT_LOG,
1945         .desc_ = "group of fault log dumper",
1946         .list_ = faultLogGroup_,
1947         .size_ = ARRAY_SIZE(faultLogGroup_),
1948         .type_ = DumperConstant::NONE,
1949         .expand_ = false,
1950     },
1951     {
1952         .name_ = ConfigData::CONFIG_GROUP_STACK,
1953         .desc_ = "group of stack dumper",
1954         .list_ = stackGroup_,
1955         .size_ = ARRAY_SIZE(stackGroup_),
1956         .type_ = DumperConstant::GROUPTYPE_PID,
1957         .expand_ = true,
1958     },
1959     {
1960         .name_ = ConfigData::CONFIG_GROUP_TEST,
1961         .desc_ = "group of test dumper",
1962         .list_ = testGroup_,
1963         .size_ = ARRAY_SIZE(testGroup_),
1964         .type_ = DumperConstant::NONE,
1965         .expand_ = false,
1966     },
1967     {
1968         .name_ = "groupmini_expand_processesGroup",
1969         .desc_ = "mini-group for of processes dumper",
1970         .list_ = processesGroupMini_,
1971         .size_ = ARRAY_SIZE(processesGroupMini_),
1972         .type_ = DumperConstant::GROUPTYPE_PID,
1973         .expand_ = true,
1974     },
1975     {
1976         .name_ = "groupmini_expand_processesGroup_eng",
1977         .desc_ = "mini-group for of processes dumper by eng",
1978         .list_ = processesGroupMini_eng_,
1979         .size_ = ARRAY_SIZE(processesGroupMini_eng_),
1980         .type_ = DumperConstant::GROUPTYPE_PID,
1981         .expand_ = true,
1982     },
1983     {
1984         .name_ = "groupmini_pid_expand_processesGroup",
1985         .desc_ = "mini-group for of processes dumper",
1986         .list_ = processesPidGroupMini_,
1987         .size_ = ARRAY_SIZE(processesPidGroupMini_),
1988         .type_ = DumperConstant::GROUPTYPE_PID,
1989         .expand_ = true,
1990     },
1991     {
1992         .name_ = "groupmini_pid_expand_processesGroup_eng",
1993         .desc_ = "mini-group for of processes dumper by eng",
1994         .list_ = processesPidGroupMini_eng_,
1995         .size_ = ARRAY_SIZE(processesPidGroupMini_eng_),
1996         .type_ = DumperConstant::GROUPTYPE_PID,
1997         .expand_ = true,
1998     },
1999     {
2000         .name_ = "groupmini_cpuid_expand_systemBaseGroup",
2001         .desc_ = "mini-group for of base dumper",
2002         .list_ = systemBaseCpuIdGroupMini_,
2003         .size_ = ARRAY_SIZE(systemBaseCpuIdGroupMini_),
2004         .type_ = DumperConstant::GROUPTYPE_CPUID,
2005         .expand_ = true,
2006     },
2007     {
2008         .name_ = "groupmini_cpuid_expand_systemSystemGroup",
2009         .desc_ = "mini-group for of system dumper",
2010         .list_ = systemSystemCpuIdGroupMini_,
2011         .size_ = ARRAY_SIZE(systemSystemCpuIdGroupMini_),
2012         .type_ = DumperConstant::GROUPTYPE_CPUID,
2013         .expand_ = true,
2014     },
2015     {
2016         .name_ = "groupmini_pid_nonexpand_systemSystemGroup",
2017         .desc_ = "group of cpu usage dumper",
2018         .list_ = systemSystemPidGroupMini_,
2019         .size_ = ARRAY_SIZE(systemSystemPidGroupMini_),
2020         .type_ = DumperConstant::GROUPTYPE_PID,
2021         .expand_ = false,
2022     },
2023 };
2024 
2025 const int ConfigData::dumperSum_ = ARRAY_SIZE(dumpers_);
2026 const int ConfigData::groupSum_ = ARRAY_SIZE(groups_);
2027 const int ConfigData::NEST_MAX = 10;
2028 
ConfigData()2029 ConfigData::ConfigData()
2030 {
2031 }
2032 
~ConfigData()2033 ConfigData::~ConfigData()
2034 {
2035 }
2036 } // namespace HiviewDFX
2037 } // namespace OHOS
2038