From b9fd6571c14fb95143f011dac9e8a5128d2042ab Mon Sep 17 00:00:00 2001 From: Ziyi Cui Date: Tue, 29 Nov 2022 12:04:12 -0800 Subject: [PATCH] [DO NOT MERGE] gs101:dumpstate: Dump long irq metrics, resume latency metrics at bugreport At the bugreport, capture long irq metrics and resume latency metrics Bug: 227809911 Bug: 232541623 Test: "adb bugreport" includes metrics capture. Change-Id: Ic60cb29b4e58996e7db1dc8fa406b46840ccd446 Signed-off-by: Ziyi Cui --- dumpstate/DumpstateDevice.cpp | 6 ++++++ dumpstate/DumpstateDevice.h | 1 + 2 files changed, 7 insertions(+) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp index c3703d4b..2f6f1b75 100644 --- a/dumpstate/DumpstateDevice.cpp +++ b/dumpstate/DumpstateDevice.cpp @@ -270,6 +270,7 @@ DumpstateDevice::DumpstateDevice() { "camera", [this](int fd) { dumpCameraSection(fd); } }, { "trusty", [this](int fd) { dumpTrustySection(fd); } }, { "modem", [this](int fd) { dumpModemSection(fd); } }, + { "perf-metrics", [this](int fd) { dumpPerfMetricsSection(fd); } }, } { } @@ -1192,6 +1193,11 @@ static void *dumpModemThread(void *data) { return NULL; } +void DumpstateDevice::dumpPerfMetricsSection(int fd) { + DumpFileToFd(fd, "Long running IRQ metrics", "/sys/kernel/metrics/irq/long_irq_metrics"); + DumpFileToFd(fd, "Resume latency metrics", "/sys/kernel/metrics/resume_latency/resume_latency_metrics"); +} + // Methods from ::android::hardware::dumpstate::V1_0::IDumpstateDevice follow. Return DumpstateDevice::dumpstateBoard(const hidl_handle &handle) { // Ignore return value, just return an empty status. diff --git a/dumpstate/DumpstateDevice.h b/dumpstate/DumpstateDevice.h index a6be31b9..f42ec198 100644 --- a/dumpstate/DumpstateDevice.h +++ b/dumpstate/DumpstateDevice.h @@ -79,6 +79,7 @@ struct DumpstateDevice : public IDumpstateDevice { void dumpCameraSection(int fd); void dumpTrustySection(int fd); void dumpModemSection(int fd); + void dumpPerfMetricsSection(int fd); }; } // namespace implementation