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