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" 18namespace OHOS { 19namespace HiviewDFX { 20const std::string ConfigData::CONFIG_NAME_SPLIT = "_"; 21const std::string ConfigData::CONFIG_GROUP = "group"; 22const std::string ConfigData::CONFIG_GROUP_ = ConfigData::CONFIG_GROUP + ConfigData::CONFIG_NAME_SPLIT; 23const std::string ConfigData::CONFIG_MINIGROUP = "groupmini"; 24const std::string ConfigData::CONFIG_MINIGROUP_ = ConfigData::CONFIG_MINIGROUP + ConfigData::CONFIG_NAME_SPLIT; 25const std::string ConfigData::CONFIG_DUMPER = "dumper"; 26const std::string ConfigData::CONFIG_DUMPER_ = ConfigData::CONFIG_DUMPER + ConfigData::CONFIG_NAME_SPLIT; 27const std::string ConfigData::CONFIG_DUMPER_LIST = ConfigData::CONFIG_DUMPER_ + "list"; 28const std::string ConfigData::CONFIG_DUMPER_LIST_ = ConfigData::CONFIG_DUMPER_LIST + ConfigData::CONFIG_NAME_SPLIT; 29const std::string ConfigData::CONFIG_DUMPER_LIST_SERVICE = ConfigData::CONFIG_DUMPER_LIST_ + "service"; 30const std::string ConfigData::CONFIG_DUMPER_LIST_SYSTEM_ABILITY = ConfigData::CONFIG_DUMPER_LIST_ + "system_ability"; 31const std::string ConfigData::CONFIG_DUMPER_LIST_SYSTEM = ConfigData::CONFIG_DUMPER_LIST_ + "system"; 32const std::string ConfigData::CONFIG_DUMPER_JSHEAP_MEMORY = ConfigData::CONFIG_DUMPER_ + "jsheap_memory"; 33const std::string ConfigData::CONFIG_GROUP_IPC_STAT = ConfigData::CONFIG_GROUP_ + "ipc"; 34const std::string ConfigData::CONFIG_GROUP_CPU_FREQ = ConfigData::CONFIG_GROUP_ + "cpufreq"; 35const std::string ConfigData::CONFIG_GROUP_CPU_USAGE = ConfigData::CONFIG_GROUP_ + "cpuusage"; 36const std::string ConfigData::CONFIG_GROUP_LOG = ConfigData::CONFIG_GROUP_ + "log"; 37const std::string ConfigData::CONFIG_GROUP_LOG_ = ConfigData::CONFIG_GROUP_LOG + ConfigData::CONFIG_NAME_SPLIT; 38const std::string ConfigData::CONFIG_GROUP_LOG_KERNEL = ConfigData::CONFIG_GROUP_LOG_ + "kernel"; 39const std::string ConfigData::CONFIG_GROUP_LOG_HILOG = ConfigData::CONFIG_GROUP_LOG_ + "hilog"; 40const std::string ConfigData::CONFIG_GROUP_LOG_INIT = ConfigData::CONFIG_GROUP_LOG_ + "init"; 41const std::string ConfigData::CONFIG_GROUP_MEMORY = ConfigData::CONFIG_GROUP_ + "memory"; 42const std::string ConfigData::CONFIG_GROUP_STORAGE = ConfigData::CONFIG_GROUP_ + "storage"; 43const std::string ConfigData::CONFIG_GROUP_STORAGE_IO = ConfigData::CONFIG_GROUP_ + "storage io"; 44const std::string ConfigData::CONFIG_GROUP_NET = ConfigData::CONFIG_GROUP_ + "net"; 45const std::string ConfigData::CONFIG_GROUP_NET_TRAFFIC = ConfigData::CONFIG_GROUP_ + "net traffic"; 46const std::string ConfigData::CONFIG_GROUP_SERVICE = ConfigData::CONFIG_GROUP_ + "service"; 47const std::string ConfigData::CONFIG_GROUP_ABILITY = ConfigData::CONFIG_GROUP_ + "ability"; 48const std::string ConfigData::CONFIG_GROUP_SYSTEM = ConfigData::CONFIG_GROUP_ + "system"; 49const std::string ConfigData::CONFIG_GROUP_SYSTEM_ = ConfigData::CONFIG_GROUP_SYSTEM + ConfigData::CONFIG_NAME_SPLIT; 50const std::string ConfigData::CONFIG_GROUP_SYSTEM_BASE = ConfigData::CONFIG_GROUP_SYSTEM_ + "base"; 51const std::string ConfigData::CONFIG_GROUP_SYSTEM_SYSTEM = ConfigData::CONFIG_GROUP_SYSTEM_ + "system"; 52const std::string ConfigData::CONFIG_GROUP_PROCESSES = ConfigData::CONFIG_GROUP_ + "processes"; 53const std::string ConfigData::CONFIG_GROUP_PROCESSES_ENG = ConfigData::CONFIG_GROUP_ + "eng_processes"; 54const std::string ConfigData::CONFIG_GROUP_PROCESSES_PID = ConfigData::CONFIG_GROUP_ + "pid_processes"; 55const std::string ConfigData::CONFIG_GROUP_PROCESSES_PID_ENG = ConfigData::CONFIG_GROUP_ + "pid_eng_processes"; 56const std::string ConfigData::CONFIG_GROUP_FAULT_LOG = ConfigData::CONFIG_GROUP_ + "faultlog"; 57const std::string ConfigData::CONFIG_GROUP_STACK = ConfigData::CONFIG_GROUP_ + "stack"; 58const std::string ConfigData::CONFIG_GROUP_TEST = ConfigData::CONFIG_GROUP_ + "test"; 59const std::string ConfigData::STR_ABILITY = "ability"; 60const std::string ConfigData::STR_BASE = "base"; 61const std::string ConfigData::STR_SERVICE = "service"; 62const std::string ConfigData::STR_SYSTEM = "system"; 63 64const 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 75const 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 86const 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 97const 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 108const 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 127const 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 138const 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 149const 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 168const 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 179const 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 190const 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 201const 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 220const 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 231const 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 242const 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 253const 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 264const 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 275const 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 286const 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 297const 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 308const 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 319const 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 330const 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 373const 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 384const 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 443const 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 454const 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 497const 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 540const 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 551const 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 562const 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 573const 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 588const 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 599const 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 610const 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 621const 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 632const 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 643const 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 654const 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 665const 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 676const 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 687const 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 698const 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 709const 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 720const 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 731const 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 750const 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 761const 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 773const 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 784const 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 974const std::string ConfigData::cpuFreqGroup_[] = { 975 "dumper_cpu_freq", 976}; 977 978const std::string ConfigData::cpuUsageGroup_[] = { 979 "dumper_cpu_usage", 980}; 981 982const std::string ConfigData::logKernelGroup_[] = { 983 "dumper_kernel_log", 984}; 985 986const std::string ConfigData::logHilogGroup_[] = { 987 "dumper_hilog", 988}; 989 990const std::string ConfigData::logInitGroup_[] = { 991 "cpu_dumper_name_000", 992}; 993 994const std::string ConfigData::memoryGroup_[] = { 995 "dumper_mem", 996}; 997 998const std::string ConfigData::storageGroup_[] = { 999 "dumper_storage_state", "dumper_block", "dumper_file", "dumper_top_io", "dumper_mounts", 1000}; 1001 1002const std::string ConfigData::storageIoGroup_[] = { 1003 "dumper_io_info", 1004}; 1005 1006const 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 1011const std::string ConfigData::netTrafficGroup_[] = { 1012 "dumper_traffic", 1013}; 1014 1015const std::string ConfigData::serviceGroup_[] = { 1016 "mem_dumper_name_000", 1017}; 1018 1019const std::string ConfigData::systemAbilityGroup_[] = { 1020 "dumper_system_ability", 1021}; 1022 1023const std::string ConfigData::systemBaseGroup_[] = { 1024 "dumper_base_info", "dumper_kernel_version", "dumper_command_line", 1025 "dumper_kernel_wake_sources", "dumper_uptime", 1026}; 1027 1028const std::string ConfigData::systemBaseCpuIdGroupMini_[] = { 1029 "dumper_kernel_cpu_freq", 1030}; 1031 1032const 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 1045const std::string ConfigData::systemSystemCpuIdGroupMini_[] = { 1046 "dumper_cpu_freq", 1047}; 1048 1049const std::string ConfigData::systemSystemPidGroupMini_[] = { 1050 "dumper_cpu_usage", 1051 "dumper_mem", 1052}; 1053 1054const std::string ConfigData::processesGroup_[] = { 1055 "dumper_threads", 1056 "groupmini_expand_processesGroup", 1057}; 1058 1059const std::string ConfigData::processesGroup_eng_[] = { 1060 "dumper_threads", 1061 "groupmini_expand_processesGroup_eng", 1062}; 1063 1064const std::string ConfigData::processesPidGroup_[] = { 1065 "groupmini_pid_expand_processesGroup", 1066}; 1067 1068const std::string ConfigData::processesPidGroup_eng_[] = { 1069 "groupmini_pid_expand_processesGroup_eng", 1070}; 1071 1072const std::string ConfigData::processesGroupMini_[] = { 1073 "dumper_block_channel", 1074 "dumper_excute_time", 1075 "dumper_mount_info", 1076}; 1077 1078const std::string ConfigData::processesGroupMini_eng_[] = { 1079 "dumper_map", 1080 "dumper_block_channel", 1081 "dumper_excute_time", 1082 "dumper_mount_info", 1083}; 1084 1085const std::string ConfigData::processesPidGroupMini_[] = { 1086 "dumper_threads_pid", 1087 "dumper_block_channel", 1088 "dumper_excute_time", 1089 "dumper_mount_info", 1090}; 1091 1092const 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 1100const std::string ConfigData::faultLogGroup_[] = { 1101 "dumper_crash", 1102}; 1103 1104const std::string ConfigData::stackGroup_[] = { 1105 "dumper_stack", 1106}; 1107 1108const std::string ConfigData::testGroup_[] = { 1109 "dumper_test", 1110}; 1111 1112const std::string ConfigData::ipcStatGroup_[] = { 1113 "dumper_ipc_stat", 1114}; 1115 1116const 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 1351const int ConfigData::dumperSum_ = ARRAY_SIZE(dumpers_); 1352const int ConfigData::groupSum_ = ARRAY_SIZE(groups_); 1353const int ConfigData::NEST_MAX = 10; 1354 1355ConfigData::ConfigData() 1356{ 1357} 1358 1359ConfigData::~ConfigData() 1360{ 1361} 1362} // namespace HiviewDFX 1363} // namespace OHOS 1364