mirror of
https://github.com/Evolution-X-Devices/device_google_wahoo
synced 2026-01-27 18:19:03 +00:00
dumpstate: add key timestamps to power dump
This change adds two key timestamps to the power stats section of dumpstate_board.txt: the time at which the device was booted and the current time immediately prior to capturing the power stats. It also refactors the lines of code for dumping power stats into a self-contained function to improve code maintainability. Currently, because the process of generating a bugreport takes several minutes, there is significant uncertainty about the temporal relationship between the bugreport timestamp and the time at which the power stats were captured. Also, boot time is reverse-engineered - again, with an unhelpful degree of uncertainty - by combining the bugreport timestamp with uptime. Generating these two timestamps immediately prior to capturing live power stats will allow identification of the onset times of key subsystem-related power issues with much more precision than is currently possible. Bug: 143312304 Test: Built userdebug and user builds, installed and tested by generating a bugreport and verifying the new content was present. Change-Id: Ie92a6e1f8e6088939819738bcff8cd9a0106f5a8
This commit is contained in:
@@ -212,6 +212,15 @@ void DumpstateDevice::dumpModem(int fd, int fdModem)
|
||||
}
|
||||
}
|
||||
|
||||
static void DumpPower(int fd) {
|
||||
RunCommandToFd(fd, "Power Stats Times", {"/vendor/bin/sh", "-c",
|
||||
"echo -n \"Boot: \" && /vendor/bin/uptime -s &&"
|
||||
"echo -n \"Now: \" && date"});
|
||||
DumpFileToFd(fd, "RPM Stats", "/d/rpm_stats");
|
||||
DumpFileToFd(fd, "Power Management Stats", "/d/rpm_master_stats");
|
||||
DumpFileToFd(fd, "WLAN Power Stats", "/d/wlan0/power_stats");
|
||||
}
|
||||
|
||||
static void DumpTouch(int fd) {
|
||||
if (!access("/sys/android_touch", R_OK)) {
|
||||
DumpFileToFd(fd, "Synaptics touch firmware version",
|
||||
@@ -261,9 +270,9 @@ Return<void> DumpstateDevice::dumpstateBoard(const hidl_handle& handle) {
|
||||
DumpFileToFd(fd, "UFS size", "/sys/block/sda/size");
|
||||
RunCommandToFd(fd, "UFS health", {"/vendor/bin/sh", "-c", "for f in $(find /sys/kernel/debug/ufshcd0 -type f); do if [[ -r $f && -f $f ]]; then echo --- $f; cat $f; fi; done"});
|
||||
DumpFileToFd(fd, "INTERRUPTS", "/proc/interrupts");
|
||||
DumpFileToFd(fd, "RPM Stats", "/d/rpm_stats");
|
||||
DumpFileToFd(fd, "Power Management Stats", "/d/rpm_master_stats");
|
||||
DumpFileToFd(fd, "WLAN Power Stats", "/d/wlan0/power_stats");
|
||||
|
||||
DumpPower(fd);
|
||||
|
||||
DumpFileToFd(fd, "LL-Stats", "/d/wlan0/ll_stats");
|
||||
DumpFileToFd(fd, "ICNSS Stats", "/d/icnss/stats");
|
||||
DumpFileToFd(fd, "SMD Log", "/d/ipc_logging/smd/log");
|
||||
|
||||
Reference in New Issue
Block a user