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