dumpstate: add camera hal graph state dump

Only dump the latest dump files so that bugreport
size won't be increased by too much.

Test: build and capture bugreport
Bug: 178737594
Change-Id: I699ee76997c9107dad13419688f3c6c04551313b
This commit is contained in:
Zhijun He 2021-05-17 12:31:40 -07:00 committed by TreeHugger Robot
parent c1db6b7386
commit 8a52881a41
2 changed files with 10 additions and 0 deletions

View file

@ -247,6 +247,7 @@ DumpstateDevice::DumpstateDevice()
{ "ramdump", [this](int fd) { dumpRamdumpSection(fd); } }, { "ramdump", [this](int fd) { dumpRamdumpSection(fd); } },
{ "misc", [this](int fd) { dumpMiscSection(fd); } }, { "misc", [this](int fd) { dumpMiscSection(fd); } },
{ "gsc", [this](int fd) { dumpGscSection(fd); } }, { "gsc", [this](int fd) { dumpGscSection(fd); } },
{ "camera", [this](int fd) { dumpCameraSection(fd); } },
} { } {
} }
@ -848,6 +849,14 @@ void DumpstateDevice::dumpGscSection(int fd) {
RunCommandToFd(fd, "Citadel STATS", {"vendor/bin/hw/citadel_updater", "--stats"}); RunCommandToFd(fd, "Citadel STATS", {"vendor/bin/hw/citadel_updater", "--stats"});
} }
// Dump essential camera debugging logs
void DumpstateDevice::dumpCameraSection(int fd) {
RunCommandToFd(fd, "Camera HAL Graph State Dump", {"/vendor/bin/sh", "-c",
"for f in $(ls -t /data/vendor/camera/hal_graph_state*.txt |head -1); do "
"echo $f ; cat $f ; done"},
CommandOptions::WithTimeout(4).Build());
}
void DumpstateDevice::dumpModem(int fd, int fdModem) void DumpstateDevice::dumpModem(int fd, int fdModem)
{ {
std::string modemLogDir = MODEM_LOG_DIRECTORY; std::string modemLogDir = MODEM_LOG_DIRECTORY;

View file

@ -82,6 +82,7 @@ struct DumpstateDevice : public IDumpstateDevice {
void dumpRamdumpSection(int fd); void dumpRamdumpSection(int fd);
void dumpMiscSection(int fd); void dumpMiscSection(int fd);
void dumpGscSection(int fd); void dumpGscSection(int fd);
void dumpCameraSection(int fd);
// Hybrid and binary sections that require an additional file descriptor // Hybrid and binary sections that require an additional file descriptor
void dumpModem(int fd, int fdModem); void dumpModem(int fd, int fdModem);