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