diff options
author | Kevin Jeon <kevinjeon@google.com> | 2023-04-10 11:17:23 -0400 |
---|---|---|
committer | Kevin Jeon <kevinjeon@google.com> | 2023-04-10 15:22:25 +0000 |
commit | 9df2606139e8d312d60dd147a2eecb46e35c9264 (patch) | |
tree | 8eea0fc4f7f3844aebaa14d1d3902c5c71202bc6 | |
parent | aa08e44399542580c01b69098625ae861640ca57 (diff) | |
download | gs-common-9df2606139e8d312d60dd147a2eecb46e35c9264.tar.gz |
Add tracepoints to dumpstate_board sections
This change adds per-section tracepoints to the Pixel 6 (and beyond)
implementation of dumpstateBoard for the purpose of debugging
possibly-long sections.
This change is analagous to the previous gs101/gs201 tracepoint
additions at ag/20414147 and ag/20413969.
Test: Build+flash; verify that a trace of a bug report contains
dumpstate board sections.
Bug: 277296452
Change-Id: I6bdd040321e87b9b6e104c18198aa650d8e5ad42
-rw-r--r-- | gear/dumpstate/Dumpstate.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gear/dumpstate/Dumpstate.cpp b/gear/dumpstate/Dumpstate.cpp index 8abc237..9fe7c1a 100644 --- a/gear/dumpstate/Dumpstate.cpp +++ b/gear/dumpstate/Dumpstate.cpp @@ -15,6 +15,7 @@ */ #define LOG_TAG "dumpstate_device" +#define ATRACE_TAG ATRACE_TAG_ALWAYS #include <inttypes.h> @@ -22,6 +23,7 @@ #include <android-base/stringprintf.h> #include <android-base/properties.h> #include <android-base/unique_fd.h> +#include <cutils/trace.h> #include <log/log.h> #include <sys/stat.h> #include <dump/pixel_dump.h> @@ -46,6 +48,7 @@ typedef std::chrono::time_point<std::chrono::steady_clock> timepoint_t; const char kVerboseLoggingProperty[] = "persist.vendor.verbose_logging_enabled"; timepoint_t startSection(int fd, const std::string §ionName) { + ATRACE_BEGIN(sectionName.c_str()); ::android::base::WriteStringToFd( "\n" "------ Section start: " + sectionName + " ------\n" @@ -54,6 +57,7 @@ timepoint_t startSection(int fd, const std::string §ionName) { } void endSection(int fd, const std::string §ionName, timepoint_t startTime) { + ATRACE_END(); auto endTime = std::chrono::steady_clock::now(); auto elapsedMsec = std::chrono::duration_cast<std::chrono::milliseconds> (endTime - startTime).count(); @@ -152,6 +156,7 @@ void Dumpstate::dumpLogSection(int fd, int fd_bin) ndk::ScopedAStatus Dumpstate::dumpstateBoard(const std::vector<::ndk::ScopedFileDescriptor>& in_fds, IDumpstateDevice::DumpstateMode in_mode, int64_t in_timeoutMillis) { + ATRACE_BEGIN("dumpstateBoard"); // Unused arguments. (void) in_timeoutMillis; @@ -181,6 +186,7 @@ ndk::ScopedAStatus Dumpstate::dumpstateBoard(const std::vector<::ndk::ScopedFile dumpLogSection(fd, fd_bin); } + ATRACE_END(); return ndk::ScopedAStatus::ok(); } |