From 31883f3edcb64b178dadc4a779ed8d9ddfc67b69 Mon Sep 17 00:00:00 2001 From: Minchan Kim Date: Mon, 7 Nov 2022 10:34:06 -0800 Subject: [PATCH] dumpstate: Dump pixel specific trace events at bugreport At the bugreport, capture pixel tracee vents. It's useful to know what happened in kernel side at that time. Test: "adb bugreport" includes the pixel trace dump. Bug: 238728493 Change-Id: I43a0b0bc51fc9aae7149e461761b798da9fce5e8 Signed-off-by: Minchan Kim --- dumpstate/Dumpstate.cpp | 5 +++++ dumpstate/Dumpstate.h | 1 + 2 files changed, 6 insertions(+) diff --git a/dumpstate/Dumpstate.cpp b/dumpstate/Dumpstate.cpp index 8d95cb6c..d9ae8b91 100644 --- a/dumpstate/Dumpstate.cpp +++ b/dumpstate/Dumpstate.cpp @@ -241,6 +241,7 @@ Dumpstate::Dumpstate() { "gsc", [this](int fd) { dumpGscSection(fd); } }, { "trusty", [this](int fd) { dumpTrustySection(fd); } }, { "led", [this](int fd) { dumpLEDSection(fd); } }, + { "pixel-trace", [this](int fd) { dumpPixelTraceSection(fd); } }, }, mLogSections{ { "modem", [this](int fd, const std::string &destDir) { dumpModemLogs(fd, destDir); } }, @@ -1308,6 +1309,10 @@ void Dumpstate::dumpLogSection(int fd, int fd_bin) RunCommandToFd(fd, "RM LOG", { "/vendor/bin/rm", logCombined.c_str()}, CommandOptions::WithTimeout(2).Build()); } +void Dumpstate::dumpPixelTraceSection(int fd) { + DumpFileToFd(fd, "Pixel trace", "/sys/kernel/tracing/instances/pixel/trace"); +} + ndk::ScopedAStatus Dumpstate::dumpstateBoard(const std::vector<::ndk::ScopedFileDescriptor>& in_fds, IDumpstateDevice::DumpstateMode in_mode, int64_t in_timeoutMillis) { diff --git a/dumpstate/Dumpstate.h b/dumpstate/Dumpstate.h index eadaefe6..47b4942b 100644 --- a/dumpstate/Dumpstate.h +++ b/dumpstate/Dumpstate.h @@ -70,6 +70,7 @@ class Dumpstate : public BnDumpstateDevice { void dumpGscSection(int fd); void dumpTrustySection(int fd); void dumpLEDSection(int fd); + void dumpPixelTraceSection(int fd); void dumpLogSection(int fd, int fdModem);