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