From 3bc36ec3df12246f30d408967b428e456616e3fd Mon Sep 17 00:00:00 2001 From: Owen Kim Date: Thu, 11 May 2023 23:29:50 +0000 Subject: [PATCH] DumpState: Include the camera graph state dump files Bug: 283612437 Bug: 282075222 Test: Check the graph state dump files in dumpstate_board.bin in a bugreport Change-Id: I8c7604c91965167b71568c1058ca180b0680b392 (cherry picked from commit 559ad99a14767dec5d6985e62aac18f21cb98a67) --- camera/dump_camera.cpp | 54 +++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/camera/dump_camera.cpp b/camera/dump_camera.cpp index 105c024..548a866 100644 --- a/camera/dump_camera.cpp +++ b/camera/dump_camera.cpp @@ -13,30 +13,40 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include -#include #include +#include +#include + +namespace { + +constexpr std::string_view kCameraLogDir = "/data/vendor/camera/profiler"; +constexpr std::string_view kGraphStateDumpDir = "/data/vendor/camera"; + +} // namespace int main() { - if (!::android::base::GetBoolProperty("vendor.camera.debug.camera_performance_analyzer.attach_to_bugreport", true)) { - return 0; - } - - static const std::string kCameraLogDir = "/data/vendor/camera/profiler"; - const std::string cameraDestDir = concatenatePath(BUGREPORT_PACKING_DIR, "camera"); - - if (mkdir(cameraDestDir.c_str(), 0777) == -1) { - printf("Unable to create folder: %s\n", cameraDestDir.c_str()); - return 0; - } - - // Attach multiple latest sessions (in case the user is running concurrent - // sessions or starts a new session after the one with performance issues). - dumpLogs(kCameraLogDir.c_str(), cameraDestDir.c_str(), 10, "session-ended-"); - dumpLogs(kCameraLogDir.c_str(), cameraDestDir.c_str(), 5, "high-drop-rate-"); - dumpLogs(kCameraLogDir.c_str(), cameraDestDir.c_str(), 5, "watchdog-"); - dumpLogs(kCameraLogDir.c_str(), cameraDestDir.c_str(), 5, "camera-ended-"); - + if (!::android::base::GetBoolProperty( + "vendor.camera.debug.camera_performance_analyzer.attach_to_bugreport", + true)) { return 0; -} + } + const std::string cameraDestDir = + concatenatePath(BUGREPORT_PACKING_DIR, "camera"); + + if (mkdir(cameraDestDir.c_str(), 0777) == -1) { + printf("Unable to create folder: %s\n", cameraDestDir.c_str()); + return 0; + } + + // Attach multiple latest sessions (in case the user is running concurrent + // sessions or starts a new session after the one with performance issues). + dumpLogs(kCameraLogDir.data(), cameraDestDir.c_str(), 10, "session-ended-"); + dumpLogs(kCameraLogDir.data(), cameraDestDir.c_str(), 5, "high-drop-rate-"); + dumpLogs(kCameraLogDir.data(), cameraDestDir.c_str(), 5, "watchdog-"); + dumpLogs(kCameraLogDir.data(), cameraDestDir.c_str(), 5, "camera-ended-"); + dumpLogs(kGraphStateDumpDir.data(), cameraDestDir.c_str(), 5, + "hal_graph_state_"); + + return 0; +}