• 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_STORAGE_IO = ConfigData::CONFIG_GROUP_ + "storage io";
42 const std::string ConfigData::CONFIG_GROUP_NET = ConfigData::CONFIG_GROUP_ + "net";
43 const std::string ConfigData::CONFIG_GROUP_NET_TRAFFIC = ConfigData::CONFIG_GROUP_ + "net traffic";
44 const std::string ConfigData::CONFIG_GROUP_SERVICE = ConfigData::CONFIG_GROUP_ + "service";
45 const std::string ConfigData::CONFIG_GROUP_ABILITY = ConfigData::CONFIG_GROUP_ + "ability";
46 const std::string ConfigData::CONFIG_GROUP_SYSTEM = ConfigData::CONFIG_GROUP_ + "system";
47 const std::string ConfigData::CONFIG_GROUP_SYSTEM_ = ConfigData::CONFIG_GROUP_SYSTEM + ConfigData::CONFIG_NAME_SPLIT;
48 const std::string ConfigData::CONFIG_GROUP_SYSTEM_BASE = ConfigData::CONFIG_GROUP_SYSTEM_ + "base";
49 const std::string ConfigData::CONFIG_GROUP_SYSTEM_SYSTEM = ConfigData::CONFIG_GROUP_SYSTEM_ + "system";
50 const std::string ConfigData::CONFIG_GROUP_PROCESSES = ConfigData::CONFIG_GROUP_ + "processes";
51 const std::string ConfigData::CONFIG_GROUP_PROCESSES_ENG = ConfigData::CONFIG_GROUP_ + "eng_processes";
52 const std::string ConfigData::CONFIG_GROUP_PROCESSES_PID = ConfigData::CONFIG_GROUP_ + "pid_processes";
53 const std::string ConfigData::CONFIG_GROUP_PROCESSES_PID_ENG = ConfigData::CONFIG_GROUP_ + "pid_eng_processes";
54 const std::string ConfigData::CONFIG_GROUP_FAULT_LOG = ConfigData::CONFIG_GROUP_ + "faultlog";
55 const std::string ConfigData::CONFIG_GROUP_STACK = ConfigData::CONFIG_GROUP_ + "stack";
56 const std::string ConfigData::CONFIG_GROUP_TEST = ConfigData::CONFIG_GROUP_ + "test";
57 const std::string ConfigData::STR_ABILITY = "ability";
58 const std::string ConfigData::STR_BASE = "base";
59 const std::string ConfigData::STR_SERVICE = "service";
60 const std::string ConfigData::STR_SYSTEM = "system";
61 
62 const ConfigData::ItemCfg ConfigData::baseInfoDumper_[] = {
63     {
64         "dumper_base_info", "Base Information", "", "",
65         DumperConstant::API_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
66     },
67     {
68         "", "", "", "",
69         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
70     },
71 };
72 
73 const ConfigData::ItemCfg ConfigData::kernelVersionDumper_[] = {
74     {
75         "dumper_kernel_version", "Kernel Version", "/proc/version", "",
76         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
77     },
78     {
79         "", "", "", "",
80         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
81     },
82 };
83 
84 const ConfigData::ItemCfg ConfigData::cmdlineDumper_[] = {
85     {
86         "dumper_command_line", "Command Line", "/proc/cmdline", "",
87         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
88     },
89     {
90         "", "", "", "",
91         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
92     },
93 };
94 
95 const ConfigData::ItemCfg ConfigData::kernelWakeSourcesDumper_[] = {
96     {
97         "dumper_kernel_wake_sources", "KERNEL WAKE SOURCES", "/sys/kernel/debug/wakeup_sources", "",
98         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
99     },
100     {
101         "", "", "", "",
102         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
103     },
104 };
105 
106 const ConfigData::ItemCfg ConfigData::kernelCpufreqDumper_[] = {
107     {
108         "dumper_kernel_cpu_freq", "KERNEL CPUFREQ", "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_cur_freq",
109         "", DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
110     },
111     {
112         "", "", "", "",
113         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
114     },
115     {
116         "", "", "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_max_freq", "",
117         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
118     },
119     {
120         "", "", "", "",
121         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
122     },
123 };
124 
125 const ConfigData::ItemCfg ConfigData::uptimeDumper_[] = {
126     {
127         "dumper_uptime", "Up Time", "uptime -p", "",
128         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
129     },
130     {
131         "", "", "", "",
132         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
133     },
134 };
135 
136 const ConfigData::ItemCfg ConfigData::cpuUsageDumper_[] = {
137     {
138         "dumper_cpu_usage", "CPU Usage", "%pid", "",
139         DumperConstant::CPU_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
140     },
141     {
142         "", "", "", "",
143         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
144     },
145 };
146 
147 const ConfigData::ItemCfg ConfigData::cpuFreqDumper_[] = {
148     {
149         "dumper_cpu_freq", "CPU Frequency", "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_cur_freq", "",
150         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
151     },
152     {
153         "", "", "", "",
154         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
155     },
156     {
157         "", "", "cat /sys/devices/system/cpu/cpu%cpuid/cpufreq/cpuinfo_max_freq", "",
158         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
159     },
160     {
161         "", "", "", "",
162         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
163     },
164 };
165 
166 const ConfigData::ItemCfg ConfigData::memDumper_[] = {
167     {
168         "dumper_mem", "Memory Information", "%pid", "",
169         DumperConstant::MEMORY_DUMPER, DumperConstant::NONE, DumperConstant::LOOP, ""
170     },
171     {
172         "", "", "", "",
173         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::LOOP, ""
174     },
175 };
176 
177 const ConfigData::ItemCfg ConfigData::envDumper_[] = {
178     {
179         "dumper_env", "Environment Variable", "printenv", "",
180         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
181     },
182     {
183         "", "", "", "",
184         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
185     },
186 };
187 
188 const ConfigData::ItemCfg ConfigData::kernelModuleDumper_[] = {
189     {
190         "dumper_kernel_module", "Kernel Module", "/proc/modules", "",
191         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
192     },
193     {
194         "", "", "", "",
195         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
196     },
197     {
198         "", "", "lsmod", "",
199         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
200     },
201     {
202         "", "", "", "",
203         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
204     },
205 };
206 
207 const ConfigData::ItemCfg ConfigData::dumpFormatVersionDumper_[] = {
208     {
209         "dumper_dump_format_version", "HiDumper Version", "HiDumper version:x.x", "",
210         DumperConstant::VERSION_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
211     },
212     {
213         "", "", "", "",
214         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
215     },
216 };
217 
218 const ConfigData::ItemCfg ConfigData::slabinfoDumper_[] = {
219     {
220         "dumper_slabinfo", "SLAB INFO", "/proc/slabinfo", "",
221         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
222     },
223     {
224         "", "", "", "",
225         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
226     },
227 };
228 
229 const ConfigData::ItemCfg ConfigData::ldkslabinfoDumper_[] = {
230     {
231         "dumper_ldkslabinfo", "LDK SLAB INFO", "/proc/devhost/root/slabinfo", "",
232         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
233     },
234     {
235         "", "", "", "",
236         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
237     },
238 };
239 
240 const ConfigData::ItemCfg ConfigData::zoneinfoDumper_[] = {
241     {
242         "dumper_zoneinfo", "ZONE INFO", "/proc/zoneinfo", "",
243         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
244     },
245     {
246         "", "", "", "",
247         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
248     },
249 };
250 
251 const ConfigData::ItemCfg ConfigData::vmStatDumper_[] = {
252     {
253         "dumper_vmstat", "VIRTUAL MEMORY STATS", "/proc/vmstat", "",
254         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
255     },
256     {
257         "", "", "", "",
258         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
259     },
260 };
261 
262 const ConfigData::ItemCfg ConfigData::vmAllocInfoDumper_[] = {
263     {
264         "dumper_vmallocinfo", "VIRTUAL MEMORY STATS", "/proc/vmallocinfo", "",
265         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
266     },
267     {
268         "", "", "", "",
269         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
270     },
271 };
272 
273 const ConfigData::ItemCfg ConfigData::crashDumper_[] = {
274     {
275         "dumper_crash", "Crash Log", "/data/log/faultlog/faultlogger", "",
276         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
277     },
278     {
279         "", "", "", "",
280         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
281     },
282 };
283 
284 const ConfigData::ItemCfg ConfigData::kernelLogDumper_[] = {
285     {
286         "dumper_kernel_log", "Kernel Log", "dmesg", "",
287         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::LOOP, ""
288     },
289     {
290         "", "", "", "",
291         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::LOOP, ""
292     },
293 };
294 
295 const ConfigData::ItemCfg ConfigData::hilogDumper_[] = {
296     {
297         "dumper_hilog", "Hilog", "hilog -x --exit", "",
298         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::LOOP, ""
299     },
300     {
301         "", "", "", "",
302         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::LOOP, ""
303     },
304 };
305 
306 const ConfigData::ItemCfg ConfigData::portDumper_[] = {
307     {
308         "dumper_port", "Port Information", "netstat -nW", "",
309         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
310     },
311     {
312         "", "", "", "",
313         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
314     },
315 };
316 
317 const ConfigData::ItemCfg ConfigData::packetDumper_[] = {
318     {
319         "dumper_packet", "Packet State", "/proc/net/dev", "",
320         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
321     },
322     {
323         "", "", "", "",
324         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
325     },
326     {
327         "", "", "/proc/net/xt_qtaguid/iface_stat_all", "",
328         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
329     },
330     {
331         "", "", "", "",
332         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
333     },
334     {
335         "", "", "/proc/net/xt_qtaguid/iface_stat_fmt", "",
336         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
337     },
338     {
339         "", "", "", "",
340         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
341     },
342     {
343         "", "", "/proc/net/xt_qtaguid/ctrl", "",
344         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
345     },
346     {
347         "", "", "", "",
348         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
349     },
350     {
351         "", "", "/proc/net/xt_qtaguid/stats", "",
352         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
353     },
354     {
355         "", "", "", "",
356         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
357     },
358 };
359 
360 const ConfigData::ItemCfg ConfigData::ipDumper_[] = {
361     {
362         "dumper_ip", "IP v4/6 State", "ifconfig -a", "",
363         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
364     },
365     {
366         "", "", "", "",
367         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
368     },
369 };
370 
371 const ConfigData::ItemCfg ConfigData::ipTableDumper_[] = {
372     {
373         "dumper_ip_table", "IPTable v4/6 Information", "iptables -L -nvx", "",
374         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
375     },
376     {
377         "", "", "", "",
378         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
379     },
380     {
381         "", "", "ip6tables -L -nvx", "",
382         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
383     },
384     {
385         "", "", "", "",
386         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
387     },
388     {
389         "", "", "iptables -t nat -L -nvx", "",
390         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
391     },
392     {
393         "", "", "", "",
394         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
395     },
396     {
397         "", "", "iptables -t mangle -L -nvx", "",
398         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
399     },
400     {
401         "", "", "", "",
402         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
403     },
404     {
405         "", "", "ip6tables -t mangle -L -nvx", "",
406         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
407     },
408     {
409         "", "", "", "",
410         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
411     },
412     {
413         "", "", "iptables -t raw -L -nvx", "",
414         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
415     },
416     {
417         "", "", "", "",
418         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
419     },
420     {
421         "", "", "ip6tables -t raw -L -nvx", "",
422         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
423     },
424     {
425         "", "", "", "",
426         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
427     },
428 };
429 
430 const ConfigData::ItemCfg ConfigData::routeTableDumper_[] = {
431     {
432         "dumper_route_table", "IP Table v4/6 Information", "/data/misc/net/rt_tables", "",
433         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
434     },
435     {
436         "", "", "", "",
437         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
438     },
439 };
440 
441 const ConfigData::ItemCfg ConfigData::ipcDumper_[] = {
442     {
443         "dumper_ipc", "IPC Information", "/sys/kernel/debug/binder/failed_transaction_log", "",
444         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
445     },
446     {
447         "", "", "", "",
448         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
449     },
450     {
451         "", "", "/sys/kernel/debug/binder/transaction_log", "",
452         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
453     },
454     {
455         "", "", "", "",
456         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
457     },
458     {
459         "", "", "/sys/kernel/debug/binder/transactions", "",
460         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
461     },
462     {
463         "", "", "", "",
464         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
465     },
466     {
467         "", "", "/sys/kernel/debug/binder/stats", "",
468         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
469     },
470     {
471         "", "", "", "",
472         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
473     },
474     {
475         "", "", "/sys/kernel/debug/binder/state", "",
476         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
477     },
478     {
479         "", "", "", "",
480         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
481     },
482 };
483 
484 const ConfigData::ItemCfg ConfigData::ipRulesDumper_[] = {
485     {
486         "dumper_ip_rules", "IP RULES v4/6", "ip link", "",
487         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
488     },
489     {
490         "", "", "", "",
491         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
492     },
493     {
494         "", "", "ip -4 addr show", "",
495         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
496     },
497     {
498         "", "", "", "",
499         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
500     },
501     {
502         "", "", "ip -6 addr show", "",
503         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
504     },
505     {
506         "", "", "", "",
507         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
508     },
509     {
510         "", "", "ip rule show", "",
511         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
512     },
513     {
514         "", "", "", "",
515         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
516     },
517     {
518         "", "", "ip -6 rule show", "",
519         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
520     },
521     {
522         "", "", "", "",
523         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
524     },
525 };
526 
527 const ConfigData::ItemCfg ConfigData::storageStateDumper_[] = {
528     {
529         "dumper_storage_state", "Storage State", "storaged -u -p", "",
530         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
531     },
532     {
533         "", "", "", "",
534         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
535     },
536 };
537 
538 const ConfigData::ItemCfg ConfigData::blockDumper_[] = {
539     {
540         "dumper_block", "Block Information", "df -k", "",
541         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
542     },
543     {
544         "", "", "", "",
545         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
546     },
547 };
548 
549 const ConfigData::ItemCfg ConfigData::fileDumper_[] = {
550     {
551         "dumper_file", "File Information", "lsof", "",
552         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
553     },
554     {
555         "", "", "", "",
556         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
557     },
558 };
559 
560 const ConfigData::ItemCfg ConfigData::topIoDumper_[] = {
561     {
562         "dumper_top_io", "TOP IO Information", "iotop -n 1 -m 100", "",
563         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, "",
564     },
565     {
566         "", "", "", "",
567         DumperConstant::FILE_FORMAT_DUMP_FILTER, DumperConstant::LEVEL_ALL, DumperConstant::NONE, ""
568     },
569     {
570         "", "", "", "",
571         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
572     },
573 };
574 
575 const ConfigData::ItemCfg ConfigData::mountsDumper_[] = {
576     {
577         "dumper_mounts", "Mount List", "/proc/mounts", "",
578         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
579     },
580     {
581         "", "", "", "",
582         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
583     },
584 };
585 
586 const ConfigData::ItemCfg ConfigData::threadsDumper_[] = {
587     {
588         "dumper_threads", "Processes/Threads List", "ps -efT", "",
589         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
590     },
591     {
592         "", "", "", "",
593         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
594     },
595 };
596 
597 const ConfigData::ItemCfg ConfigData::threadsPidDumper_[] = {
598     {
599         "dumper_threads_pid", "Processes/Threads List", "ps -efT -p %pid", "",
600         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
601     },
602     {
603         "", "", "", "",
604         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
605     },
606 };
607 
608 const ConfigData::ItemCfg ConfigData::smapDumper_[] = {
609     {
610         "dumper_smap", "Process SMAP Information", "/proc/%pid/smaps", "",
611         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::LOOP, ""
612     },
613     {
614         "", "", "", "",
615         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::LOOP, ""
616     },
617 };
618 
619 const ConfigData::ItemCfg ConfigData::mapDumper_[] = {
620     {
621         "dumper_map", "Process MAP Information", "/proc/%pid/maps", "",
622         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::LOOP, ""
623     },
624     {
625         "", "", "", "",
626         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::LOOP, ""
627     },
628 };
629 
630 const ConfigData::ItemCfg ConfigData::blockChannelDumper_[] = {
631     {
632         "dumper_block_channel", "Block Channel", "/proc/%pid/wchan", "",
633         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
634     },
635     {
636         "", "", "", "",
637         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
638     },
639 };
640 
641 const ConfigData::ItemCfg ConfigData::excuteTimeDumper_[] = {
642     {
643         "dumper_excute_time", "Excute Time", "ps -o \"TIME\" -p %pid", "",
644         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
645     },
646     {
647         "", "", "", "",
648         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
649     },
650 };
651 
652 const ConfigData::ItemCfg ConfigData::mountInfoDumper_[] = {
653     {
654         "dumper_mount_info", "Mount Information", "/proc/%pid/mountinfo", "",
655         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::LOOP, ""
656     },
657     {
658         "", "", "", "",
659         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::LOOP, ""
660     },
661 };
662 
663 const ConfigData::ItemCfg ConfigData::systemAbilityDumper_[] = {
664     {
665         "dumper_system_ability", "System Ability Information", ConfigData::STR_ABILITY, "",
666         DumperConstant::SA_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
667     },
668     {
669         "", "", "", "",
670         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
671     },
672 };
673 
674 const ConfigData::ItemCfg ConfigData::stackDumper_[] = {
675     {
676         "dumper_stack", "Dump Stack Info", "dumpcatcher -p %pid", "",
677         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
678     },
679     {
680         "", "", "", "",
681         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
682     },
683 };
684 
685 const ConfigData::ItemCfg ConfigData::listServiceDumper_[] = {
686     {
687         ConfigData::CONFIG_DUMPER_LIST_SERVICE, "list service", ConfigData::STR_SERVICE, "",
688         DumperConstant::LIST_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
689     },
690     {
691         "", "", "", "",
692         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
693     },
694 };
695 
696 const ConfigData::ItemCfg ConfigData::listSystemAbilityDumper_[] = {
697     {
698         ConfigData::CONFIG_DUMPER_LIST_SYSTEM_ABILITY, "list system ability", ConfigData::STR_ABILITY, "",
699         DumperConstant::LIST_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
700     },
701     {
702         "", "", "", "",
703         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
704     },
705 };
706 
707 const ConfigData::ItemCfg ConfigData::listSystemDumper_[] = {
708     {
709         ConfigData::CONFIG_DUMPER_LIST_SYSTEM, "list system", ConfigData::STR_SYSTEM, "",
710         DumperConstant::LIST_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
711     },
712     {
713         "", "", "", "",
714         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
715     },
716 };
717 
718 const ConfigData::ItemCfg ConfigData::testDumper_[] = {
719     {
720         "dumper_test", "test used dumper", "/data/local/tmp/hidumper_mockdata_0001.txt", "",
721         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
722     },
723     {
724         "", "", "", "",
725         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
726     },
727     {
728         "", "", "cat /data/local/tmp/hidumper_mockdata_0002.txt", "",
729         DumperConstant::CMD_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
730     },
731     {
732         "", "", "", "",
733         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
734     },
735 };
736 
737 const ConfigData::ItemCfg ConfigData::ioDumper_[] = {
738     {
739         "dumper_io_info", "io information", "/proc/%pid/io", "",
740         DumperConstant::FILE_DUMPER, DumperConstant::NONE, DumperConstant::NONE,""
741     },
742     {
743         "", "", "", "",
744         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
745     },
746 };
747 
748 const ConfigData::ItemCfg ConfigData::trafficDumper_[] = {
749     {
750         "dumper_traffic", "Traffic Information", "%pid", "",
751         DumperConstant::TRAFFIC_DUMPER, DumperConstant::NONE, DumperConstant::NONE, ""
752     },
753     {
754         "", "", "", "",
755         DumperConstant::FD_OUTPUT, DumperConstant::NONE, DumperConstant::NONE, ""
756     },
757 };
758 
759 const ConfigData::DumperCfg ConfigData::dumpers_[] = {
760     {.name_ = baseInfoDumper_[0].name_,
761      .desc_ = baseInfoDumper_[0].desc_,
762      .list_ = baseInfoDumper_,
763      .size_ = ARRAY_SIZE(baseInfoDumper_)},
764     {.name_ = kernelVersionDumper_[0].name_,
765      .desc_ = kernelVersionDumper_[0].desc_,
766      .list_ = kernelVersionDumper_,
767      .size_ = ARRAY_SIZE(kernelVersionDumper_)},
768     {.name_ = cmdlineDumper_[0].name_,
769      .desc_ = cmdlineDumper_[0].desc_,
770      .list_ = cmdlineDumper_,
771      .size_ = ARRAY_SIZE(cmdlineDumper_)},
772     {.name_ = kernelWakeSourcesDumper_[0].name_,
773      .desc_ = kernelWakeSourcesDumper_[0].desc_,
774      .list_ = kernelWakeSourcesDumper_,
775      .size_ = ARRAY_SIZE(kernelWakeSourcesDumper_)},
776     {.name_ = kernelCpufreqDumper_[0].name_,
777      .desc_ = kernelCpufreqDumper_[0].desc_,
778      .list_ = kernelCpufreqDumper_,
779      .size_ = ARRAY_SIZE(kernelCpufreqDumper_)},
780     {.name_ = uptimeDumper_[0].name_,
781      .desc_ = uptimeDumper_[0].desc_,
782      .list_ = uptimeDumper_,
783      .size_ = ARRAY_SIZE(uptimeDumper_)},
784     {.name_ = cpuUsageDumper_[0].name_,
785      .desc_ = cpuUsageDumper_[0].desc_,
786      .list_ = cpuUsageDumper_,
787      .size_ = ARRAY_SIZE(cpuUsageDumper_)},
788     {.name_ = cpuFreqDumper_[0].name_,
789      .desc_ = cpuFreqDumper_[0].desc_,
790      .list_ = cpuFreqDumper_,
791      .size_ = ARRAY_SIZE(cpuFreqDumper_)},
792     {.name_ = memDumper_[0].name_, .desc_ = memDumper_[0].desc_, .list_ = memDumper_, .size_ = ARRAY_SIZE(memDumper_)},
793     {.name_ = envDumper_[0].name_, .desc_ = envDumper_[0].desc_, .list_ = envDumper_, .size_ = ARRAY_SIZE(envDumper_)},
794     {.name_ = kernelModuleDumper_[0].name_,
795      .desc_ = kernelModuleDumper_[0].desc_,
796      .list_ = kernelModuleDumper_,
797      .size_ = ARRAY_SIZE(kernelModuleDumper_)},
798     {.name_ = dumpFormatVersionDumper_[0].name_,
799      .desc_ = dumpFormatVersionDumper_[0].desc_,
800      .list_ = dumpFormatVersionDumper_,
801      .size_ = ARRAY_SIZE(dumpFormatVersionDumper_)},
802     {.name_ = slabinfoDumper_[0].name_,
803      .desc_ = slabinfoDumper_[0].desc_,
804      .list_ = slabinfoDumper_,
805      .size_ = ARRAY_SIZE(slabinfoDumper_)},
806     {.name_ = ldkslabinfoDumper_[0].name_,
807      .desc_ = ldkslabinfoDumper_[0].desc_,
808      .list_ = ldkslabinfoDumper_,
809      .size_ = ARRAY_SIZE(ldkslabinfoDumper_)},
810     {.name_ = zoneinfoDumper_[0].name_,
811      .desc_ = zoneinfoDumper_[0].desc_,
812      .list_ = zoneinfoDumper_,
813      .size_ = ARRAY_SIZE(zoneinfoDumper_)},
814     {.name_ = vmStatDumper_[0].name_,
815      .desc_ = vmStatDumper_[0].desc_,
816      .list_ = vmStatDumper_,
817      .size_ = ARRAY_SIZE(vmStatDumper_)},
818     {.name_ = vmAllocInfoDumper_[0].name_,
819      .desc_ = vmAllocInfoDumper_[0].desc_,
820      .list_ = vmAllocInfoDumper_,
821      .size_ = ARRAY_SIZE(vmAllocInfoDumper_)},
822     {.name_ = crashDumper_[0].name_,
823      .desc_ = crashDumper_[0].desc_,
824      .list_ = crashDumper_,
825      .size_ = ARRAY_SIZE(crashDumper_)},
826     {.name_ = kernelLogDumper_[0].name_,
827      .desc_ = kernelLogDumper_[0].desc_,
828      .list_ = kernelLogDumper_,
829      .size_ = ARRAY_SIZE(kernelLogDumper_)},
830     {.name_ = hilogDumper_[0].name_,
831      .desc_ = hilogDumper_[0].desc_,
832      .list_ = hilogDumper_,
833      .size_ = ARRAY_SIZE(hilogDumper_)},
834     {.name_ = portDumper_[0].name_,
835      .desc_ = portDumper_[0].desc_,
836      .list_ = portDumper_,
837      .size_ = ARRAY_SIZE(portDumper_)},
838     {.name_ = packetDumper_[0].name_,
839      .desc_ = packetDumper_[0].desc_,
840      .list_ = packetDumper_,
841      .size_ = ARRAY_SIZE(packetDumper_)},
842     {.name_ = ipDumper_[0].name_, .desc_ = ipDumper_[0].desc_, .list_ = ipDumper_, .size_ = ARRAY_SIZE(ipDumper_)},
843     {.name_ = ipTableDumper_[0].name_,
844      .desc_ = ipTableDumper_[0].desc_,
845      .list_ = ipTableDumper_,
846      .size_ = ARRAY_SIZE(ipTableDumper_)},
847     {.name_ = routeTableDumper_[0].name_,
848      .desc_ = routeTableDumper_[0].desc_,
849      .list_ = routeTableDumper_,
850      .size_ = ARRAY_SIZE(routeTableDumper_)},
851     {.name_ = ipcDumper_[0].name_, .desc_ = ipcDumper_[0].desc_, .list_ = ipcDumper_, .size_ = ARRAY_SIZE(ipcDumper_)},
852     {.name_ = ipRulesDumper_[0].name_,
853      .desc_ = ipRulesDumper_[0].desc_,
854      .list_ = ipRulesDumper_,
855      .size_ = ARRAY_SIZE(ipRulesDumper_)},
856     {.name_ = storageStateDumper_[0].name_,
857      .desc_ = storageStateDumper_[0].desc_,
858      .list_ = storageStateDumper_,
859      .size_ = ARRAY_SIZE(storageStateDumper_)},
860     {.name_ = blockDumper_[0].name_,
861      .desc_ = blockDumper_[0].desc_,
862      .list_ = blockDumper_,
863      .size_ = ARRAY_SIZE(blockDumper_)},
864     {.name_ = fileDumper_[0].name_,
865      .desc_ = fileDumper_[0].desc_,
866      .list_ = fileDumper_,
867      .size_ = ARRAY_SIZE(fileDumper_)},
868     {.name_ = topIoDumper_[0].name_,
869      .desc_ = topIoDumper_[0].desc_,
870      .list_ = topIoDumper_,
871      .size_ = ARRAY_SIZE(topIoDumper_)},
872     {.name_ = mountsDumper_[0].name_,
873      .desc_ = mountsDumper_[0].desc_,
874      .list_ = mountsDumper_,
875      .size_ = ARRAY_SIZE(mountsDumper_)},
876     {.name_ = threadsDumper_[0].name_,
877      .desc_ = threadsDumper_[0].desc_,
878      .list_ = threadsDumper_,
879      .size_ = ARRAY_SIZE(threadsDumper_)},
880     {.name_ = threadsPidDumper_[0].name_,
881      .desc_ = threadsPidDumper_[0].desc_,
882      .list_ = threadsPidDumper_,
883      .size_ = ARRAY_SIZE(threadsPidDumper_)},
884     {.name_ = smapDumper_[0].name_,
885      .desc_ = smapDumper_[0].desc_,
886      .list_ = smapDumper_,
887      .size_ = ARRAY_SIZE(smapDumper_)},
888     {.name_ = mapDumper_[0].name_, .desc_ = mapDumper_[0].desc_, .list_ = mapDumper_, .size_ = ARRAY_SIZE(mapDumper_)},
889     {.name_ = blockChannelDumper_[0].name_,
890      .desc_ = blockChannelDumper_[0].desc_,
891      .list_ = blockChannelDumper_,
892      .size_ = ARRAY_SIZE(blockChannelDumper_)},
893     {.name_ = excuteTimeDumper_[0].name_,
894      .desc_ = excuteTimeDumper_[0].desc_,
895      .list_ = excuteTimeDumper_,
896      .size_ = ARRAY_SIZE(excuteTimeDumper_)},
897     {.name_ = mountInfoDumper_[0].name_,
898      .desc_ = mountInfoDumper_[0].desc_,
899      .list_ = mountInfoDumper_,
900      .size_ = ARRAY_SIZE(mountInfoDumper_)},
901     {.name_ = systemAbilityDumper_[0].name_,
902      .desc_ = systemAbilityDumper_[0].desc_,
903      .list_ = systemAbilityDumper_,
904      .size_ = ARRAY_SIZE(systemAbilityDumper_)},
905     {.name_ = stackDumper_[0].name_,
906      .desc_ = stackDumper_[0].desc_,
907      .list_ = stackDumper_,
908      .size_ = ARRAY_SIZE(stackDumper_)},
909     {.name_ = listServiceDumper_[0].name_,
910      .desc_ = listServiceDumper_[0].desc_,
911      .list_ = listServiceDumper_,
912      .size_ = ARRAY_SIZE(listServiceDumper_)},
913     {.name_ = listSystemAbilityDumper_[0].name_,
914      .desc_ = listSystemAbilityDumper_[0].desc_,
915      .list_ = listSystemAbilityDumper_,
916      .size_ = ARRAY_SIZE(listSystemAbilityDumper_)},
917     {.name_ = listSystemDumper_[0].name_,
918      .desc_ = listSystemDumper_[0].desc_,
919      .list_ = listSystemDumper_,
920      .size_ = ARRAY_SIZE(listSystemDumper_)},
921     {.name_ = testDumper_[0].name_,
922      .desc_ = testDumper_[0].desc_,
923      .list_ = testDumper_,
924      .size_ = ARRAY_SIZE(testDumper_)},
925     {.name_ = ioDumper_[0].name_,
926      .desc_ = ioDumper_[0].desc_,
927      .list_ = ioDumper_,
928      .size_ = ARRAY_SIZE(ioDumper_)},
929     {.name_ = trafficDumper_[0].name_,
930      .desc_ = trafficDumper_[0].desc_,
931      .list_ = trafficDumper_,
932      .size_ = ARRAY_SIZE(trafficDumper_)},
933 };
934 
935 const std::string ConfigData::cpuFreqGroup_[] = {
936     "dumper_cpu_freq",
937 };
938 
939 const std::string ConfigData::cpuUsageGroup_[] = {
940     "dumper_cpu_usage",
941 };
942 
943 const std::string ConfigData::logKernelGroup_[] = {
944     "dumper_kernel_log",
945 };
946 
947 const std::string ConfigData::logHilogGroup_[] = {
948     "dumper_hilog",
949 };
950 
951 const std::string ConfigData::logInitGroup_[] = {
952     "cpu_dumper_name_000",
953 };
954 
955 const std::string ConfigData::memoryGroup_[] = {
956     "dumper_mem",
957 };
958 
959 const std::string ConfigData::storageGroup_[] = {
960     "dumper_storage_state", "dumper_block", "dumper_file", "dumper_top_io", "dumper_mounts",
961 };
962 
963 const std::string ConfigData::storageIoGroup_[] = {
964     "dumper_io_info",
965 };
966 
967 const std::string ConfigData::netGroup_[] = {
968     "dumper_port",        "dumper_packet", "dumper_ip",       "dumper_ip_table",
969     "dumper_route_table", "dumper_ipc",    "dumper_ip_rules",
970 };
971 
972 const std::string ConfigData::netTrafficGroup_[] = {
973     "dumper_traffic",
974 };
975 
976 const std::string ConfigData::serviceGroup_[] = {
977     "mem_dumper_name_000",
978 };
979 
980 const std::string ConfigData::systemAbilityGroup_[] = {
981     "dumper_system_ability",
982 };
983 
984 const std::string ConfigData::systemBaseGroup_[] = {
985     "dumper_base_info",           "dumper_kernel_version", "dumper_command_line",
986     "dumper_kernel_wake_sources", "dumper_uptime",
987 };
988 
989 const std::string ConfigData::systemBaseCpuIdGroupMini_[] = {
990     "dumper_kernel_cpu_freq",
991 };
992 
993 const std::string ConfigData::systemSystemGroup_[] = {
994     "dumper_env",
995     "dumper_kernel_module",
996     "dumper_dump_format_version",
997     "dumper_slabinfo",
998     "dumper_ldkslabinfo",
999     "dumper_zoneinfo",
1000     "dumper_vmstat",
1001     "dumper_vmallocinfo",
1002     "groupmini_cpuid_expand_systemSystemGroup",
1003     "groupmini_pid_nonexpand_systemSystemGroup",
1004 };
1005 
1006 const std::string ConfigData::systemSystemCpuIdGroupMini_[] = {
1007     "dumper_cpu_freq",
1008 };
1009 
1010 const std::string ConfigData::systemSystemPidGroupMini_[] = {
1011     "dumper_cpu_usage",
1012     "dumper_mem",
1013 };
1014 
1015 const std::string ConfigData::processesGroup_[] = {
1016     "dumper_threads",
1017     "groupmini_expand_processesGroup",
1018 };
1019 
1020 const std::string ConfigData::processesGroup_eng_[] = {
1021     "dumper_threads",
1022     "groupmini_expand_processesGroup_eng",
1023 };
1024 
1025 const std::string ConfigData::processesPidGroup_[] = {
1026     "groupmini_pid_expand_processesGroup",
1027 };
1028 
1029 const std::string ConfigData::processesPidGroup_eng_[] = {
1030     "groupmini_pid_expand_processesGroup_eng",
1031 };
1032 
1033 const std::string ConfigData::processesGroupMini_[] = {
1034     "dumper_block_channel",
1035     "dumper_excute_time",
1036     "dumper_mount_info",
1037 };
1038 
1039 const std::string ConfigData::processesGroupMini_eng_[] = {
1040     "dumper_map",
1041     "dumper_block_channel",
1042     "dumper_excute_time",
1043     "dumper_mount_info",
1044 };
1045 
1046 const std::string ConfigData::processesPidGroupMini_[] = {
1047     "dumper_threads_pid",
1048     "dumper_block_channel",
1049     "dumper_excute_time",
1050     "dumper_mount_info",
1051 };
1052 
1053 const std::string ConfigData::processesPidGroupMini_eng_[] = {
1054     "dumper_threads_pid",
1055     "dumper_map",
1056     "dumper_block_channel",
1057     "dumper_excute_time",
1058     "dumper_mount_info",
1059 };
1060 
1061 const std::string ConfigData::faultLogGroup_[] = {
1062     "dumper_crash",
1063 };
1064 
1065 const std::string ConfigData::stackGroup_[] = {
1066     "dumper_stack",
1067 };
1068 
1069 const std::string ConfigData::testGroup_[] = {
1070     "dumper_test",
1071 };
1072 
1073 const ConfigData::GroupCfg ConfigData::groups_[] = {
1074     {
1075         .name_ = ConfigData::CONFIG_GROUP_CPU_FREQ,
1076         .desc_ = "group of cpu freq dumper",
1077         .list_ = cpuFreqGroup_,
1078         .size_ = ARRAY_SIZE(cpuFreqGroup_),
1079         .type_ = DumperConstant::GROUPTYPE_CPUID,
1080         .expand_ = true,
1081     },
1082     {
1083         .name_ = ConfigData::CONFIG_GROUP_CPU_USAGE,
1084         .desc_ = "group of cpu usage dumper",
1085         .list_ = cpuUsageGroup_,
1086         .size_ = ARRAY_SIZE(cpuUsageGroup_),
1087         .type_ = DumperConstant::GROUPTYPE_PID,
1088         .expand_ = false,
1089     },
1090     {
1091         .name_ = ConfigData::CONFIG_GROUP_LOG_KERNEL,
1092         .desc_ = "group of kernel log dumper",
1093         .list_ = logKernelGroup_,
1094         .size_ = ARRAY_SIZE(logKernelGroup_),
1095         .type_ = DumperConstant::NONE,
1096         .expand_ = false,
1097     },
1098     {
1099         .name_ = ConfigData::CONFIG_GROUP_LOG_HILOG,
1100         .desc_ = "group of hilog dumper",
1101         .list_ = logHilogGroup_,
1102         .size_ = ARRAY_SIZE(logHilogGroup_),
1103         .type_ = DumperConstant::NONE,
1104         .expand_ = false,
1105     },
1106     {
1107         .name_ = ConfigData::CONFIG_GROUP_LOG_INIT,
1108         .desc_ = "group of init log dumper",
1109         .list_ = logInitGroup_,
1110         .size_ = ARRAY_SIZE(logInitGroup_),
1111         .type_ = DumperConstant::NONE,
1112         .expand_ = false,
1113     },
1114     {
1115         .name_ = ConfigData::CONFIG_GROUP_MEMORY,
1116         .desc_ = "group of memory dumper",
1117         .list_ = memoryGroup_,
1118         .size_ = ARRAY_SIZE(memoryGroup_),
1119         .type_ = DumperConstant::GROUPTYPE_PID,
1120         .expand_ = false,
1121     },
1122     {
1123         .name_ = ConfigData::CONFIG_GROUP_STORAGE,
1124         .desc_ = "group of storage dumper",
1125         .list_ = storageGroup_,
1126         .size_ = ARRAY_SIZE(storageGroup_),
1127         .type_ = DumperConstant::NONE,
1128         .expand_ = false,
1129     },
1130     {
1131         .name_ = ConfigData::CONFIG_GROUP_NET,
1132         .desc_ = "group of net dumper",
1133         .list_ = netGroup_,
1134         .size_ = ARRAY_SIZE(netGroup_),
1135         .type_ = DumperConstant::NONE,
1136         .expand_ = false,
1137     },
1138     {
1139         .name_ = ConfigData::CONFIG_GROUP_SERVICE,
1140         .desc_ = "group of service dumper",
1141         .list_ = serviceGroup_,
1142         .size_ = ARRAY_SIZE(serviceGroup_),
1143         .type_ = DumperConstant::NONE,
1144         .expand_ = false,
1145     },
1146     {
1147         .name_ = ConfigData::CONFIG_GROUP_ABILITY,
1148         .desc_ = "group of ability dumper",
1149         .list_ = systemAbilityGroup_,
1150         .size_ = ARRAY_SIZE(systemAbilityGroup_),
1151         .type_ = DumperConstant::NONE,
1152         .expand_ = false,
1153     },
1154     {
1155         .name_ = ConfigData::CONFIG_GROUP_SYSTEM_BASE,
1156         .desc_ = "group of base log dumper",
1157         .list_ = systemBaseGroup_,
1158         .size_ = ARRAY_SIZE(systemBaseGroup_),
1159         .type_ = DumperConstant::NONE,
1160         .expand_ = false,
1161     },
1162     {
1163         .name_ = ConfigData::CONFIG_GROUP_STORAGE_IO,
1164         .desc_ = "group of io dumper",
1165         .list_ = storageIoGroup_,
1166         .size_ = ARRAY_SIZE(storageIoGroup_),
1167         .type_ = DumperConstant::GROUPTYPE_PID,
1168         .expand_ = false,
1169     },
1170     {
1171         .name_ = ConfigData::CONFIG_GROUP_NET_TRAFFIC,
1172         .desc_ = "group of traffic dumper",
1173         .list_ = netTrafficGroup_,
1174         .size_ = ARRAY_SIZE(netTrafficGroup_),
1175         .type_ = DumperConstant::GROUPTYPE_PID,
1176         .expand_ = false,
1177     },
1178     {
1179         .name_ = ConfigData::CONFIG_GROUP_SYSTEM_SYSTEM,
1180         .desc_ = "group of system log dumper",
1181         .list_ = systemSystemGroup_,
1182         .size_ = ARRAY_SIZE(systemSystemGroup_),
1183         .type_ = DumperConstant::NONE,
1184         .expand_ = false,
1185     },
1186     {
1187         .name_ = ConfigData::CONFIG_GROUP_PROCESSES,
1188         .desc_ = "group of processes dumper",
1189         .list_ = processesGroup_,
1190         .size_ = ARRAY_SIZE(processesGroup_),
1191         .type_ = DumperConstant::NONE,
1192         .expand_ = false,
1193     },
1194     {
1195         .name_ = ConfigData::CONFIG_GROUP_PROCESSES_ENG,
1196         .desc_ = "group of processes dumper by eng ",
1197         .list_ = processesGroup_eng_,
1198         .size_ = ARRAY_SIZE(processesGroup_eng_),
1199         .type_ = DumperConstant::NONE,
1200         .expand_ = false,
1201     },
1202     {
1203         .name_ = ConfigData::CONFIG_GROUP_PROCESSES_PID,
1204         .desc_ = "group of processes pid dumper",
1205         .list_ = processesPidGroup_,
1206         .size_ = ARRAY_SIZE(processesPidGroup_),
1207         .type_ = DumperConstant::NONE,
1208         .expand_ = false,
1209     },
1210     {
1211         .name_ = ConfigData::CONFIG_GROUP_PROCESSES_PID_ENG,
1212         .desc_ = "group of processes pid dumper by eng",
1213         .list_ = processesPidGroup_eng_,
1214         .size_ = ARRAY_SIZE(processesPidGroup_eng_),
1215         .type_ = DumperConstant::NONE,
1216         .expand_ = false,
1217     },
1218     {
1219         .name_ = ConfigData::CONFIG_GROUP_FAULT_LOG,
1220         .desc_ = "group of fault log dumper",
1221         .list_ = faultLogGroup_,
1222         .size_ = ARRAY_SIZE(faultLogGroup_),
1223         .type_ = DumperConstant::NONE,
1224         .expand_ = false,
1225     },
1226     {
1227         .name_ = ConfigData::CONFIG_GROUP_STACK,
1228         .desc_ = "group of stack dumper",
1229         .list_ = stackGroup_,
1230         .size_ = ARRAY_SIZE(stackGroup_),
1231         .type_ = DumperConstant::GROUPTYPE_PID,
1232         .expand_ = true,
1233     },
1234     {
1235         .name_ = ConfigData::CONFIG_GROUP_TEST,
1236         .desc_ = "group of test dumper",
1237         .list_ = testGroup_,
1238         .size_ = ARRAY_SIZE(testGroup_),
1239         .type_ = DumperConstant::NONE,
1240         .expand_ = false,
1241     },
1242     {
1243         .name_ = "groupmini_expand_processesGroup",
1244         .desc_ = "mini-group for of processes dumper",
1245         .list_ = processesGroupMini_,
1246         .size_ = ARRAY_SIZE(processesGroupMini_),
1247         .type_ = DumperConstant::GROUPTYPE_PID,
1248         .expand_ = true,
1249     },
1250     {
1251         .name_ = "groupmini_expand_processesGroup_eng",
1252         .desc_ = "mini-group for of processes dumper by eng",
1253         .list_ = processesGroupMini_eng_,
1254         .size_ = ARRAY_SIZE(processesGroupMini_eng_),
1255         .type_ = DumperConstant::GROUPTYPE_PID,
1256         .expand_ = true,
1257     },
1258     {
1259         .name_ = "groupmini_pid_expand_processesGroup",
1260         .desc_ = "mini-group for of processes dumper",
1261         .list_ = processesPidGroupMini_,
1262         .size_ = ARRAY_SIZE(processesPidGroupMini_),
1263         .type_ = DumperConstant::GROUPTYPE_PID,
1264         .expand_ = true,
1265     },
1266     {
1267         .name_ = "groupmini_pid_expand_processesGroup_eng",
1268         .desc_ = "mini-group for of processes dumper by eng",
1269         .list_ = processesPidGroupMini_eng_,
1270         .size_ = ARRAY_SIZE(processesPidGroupMini_eng_),
1271         .type_ = DumperConstant::GROUPTYPE_PID,
1272         .expand_ = true,
1273     },
1274     {
1275         .name_ = "groupmini_cpuid_expand_systemBaseGroup",
1276         .desc_ = "mini-group for of base dumper",
1277         .list_ = systemBaseCpuIdGroupMini_,
1278         .size_ = ARRAY_SIZE(systemBaseCpuIdGroupMini_),
1279         .type_ = DumperConstant::GROUPTYPE_CPUID,
1280         .expand_ = true,
1281     },
1282     {
1283         .name_ = "groupmini_cpuid_expand_systemSystemGroup",
1284         .desc_ = "mini-group for of system dumper",
1285         .list_ = systemSystemCpuIdGroupMini_,
1286         .size_ = ARRAY_SIZE(systemSystemCpuIdGroupMini_),
1287         .type_ = DumperConstant::GROUPTYPE_CPUID,
1288         .expand_ = true,
1289     },
1290     {
1291         .name_ = "groupmini_pid_nonexpand_systemSystemGroup",
1292         .desc_ = "group of cpu usage dumper",
1293         .list_ = systemSystemPidGroupMini_,
1294         .size_ = ARRAY_SIZE(systemSystemPidGroupMini_),
1295         .type_ = DumperConstant::GROUPTYPE_PID,
1296         .expand_ = false,
1297     },
1298 };
1299 
1300 const int ConfigData::dumperSum_ = ARRAY_SIZE(dumpers_);
1301 const int ConfigData::groupSum_ = ARRAY_SIZE(groups_);
1302 const int ConfigData::NEST_MAX = 10;
1303 
ConfigData()1304 ConfigData::ConfigData()
1305 {
1306 }
1307 
~ConfigData()1308 ConfigData::~ConfigData()
1309 {
1310 }
1311 } // namespace HiviewDFX
1312 } // namespace OHOS
1313