Loading cmds/dumpstate/dumpstate.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,7 @@ static const std::string TOMBSTONE_DIR = "/data/tombstones/"; static const std::string TOMBSTONE_FILE_PREFIX = "tombstone_"; static const std::string ANR_DIR = "/data/anr/"; static const std::string ANR_FILE_PREFIX = "anr_"; static const std::string ANR_TRACE_FILE_PREFIX = "trace_"; static const std::string SHUTDOWN_CHECKPOINTS_DIR = "/data/system/shutdown-checkpoints/"; static const std::string SHUTDOWN_CHECKPOINTS_FILE_PREFIX = "checkpoints-"; Loading Loading @@ -1179,6 +1180,10 @@ static void AddAnrTraceDir(const std::string& anr_traces_dir) { } else { printf("*** NO ANRs to dump in %s\n\n", ANR_DIR.c_str()); } // Add Java anr traces (such as generated by the Finalizer Watchdog). AddDumps(ds.anr_trace_data_.begin(), ds.anr_trace_data_.end(), "JAVA ANR TRACES", true /* add_to_zip */); } static void AddAnrTraceFiles() { Loading Loading @@ -1905,6 +1910,7 @@ Dumpstate::RunStatus Dumpstate::DumpstateDefaultAfterCritical() { if (!PropertiesHelper::IsDryRun()) { ds.tombstone_data_ = GetDumpFds(TOMBSTONE_DIR, TOMBSTONE_FILE_PREFIX); ds.anr_data_ = GetDumpFds(ANR_DIR, ANR_FILE_PREFIX); ds.anr_trace_data_ = GetDumpFds(ANR_DIR, ANR_TRACE_FILE_PREFIX); ds.shutdown_checkpoints_ = GetDumpFds( SHUTDOWN_CHECKPOINTS_DIR, SHUTDOWN_CHECKPOINTS_FILE_PREFIX); } Loading Loading @@ -3046,6 +3052,7 @@ void Dumpstate::Cancel() { } tombstone_data_.clear(); anr_data_.clear(); anr_trace_data_.clear(); shutdown_checkpoints_.clear(); // Instead of shutdown the pool, we delete temporary files directly since Loading Loading @@ -3341,6 +3348,7 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, tombstone_data_.clear(); anr_data_.clear(); anr_trace_data_.clear(); shutdown_checkpoints_.clear(); return (consent_callback_ != nullptr && Loading cmds/dumpstate/dumpstate.h +3 −0 Original line number Diff line number Diff line Loading @@ -526,6 +526,9 @@ class Dumpstate { // List of open ANR dump files. std::vector<DumpData> anr_data_; // List of open Java traces files in the anr directory. std::vector<DumpData> anr_trace_data_; // List of open shutdown checkpoint files. std::vector<DumpData> shutdown_checkpoints_; Loading Loading
cmds/dumpstate/dumpstate.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,7 @@ static const std::string TOMBSTONE_DIR = "/data/tombstones/"; static const std::string TOMBSTONE_FILE_PREFIX = "tombstone_"; static const std::string ANR_DIR = "/data/anr/"; static const std::string ANR_FILE_PREFIX = "anr_"; static const std::string ANR_TRACE_FILE_PREFIX = "trace_"; static const std::string SHUTDOWN_CHECKPOINTS_DIR = "/data/system/shutdown-checkpoints/"; static const std::string SHUTDOWN_CHECKPOINTS_FILE_PREFIX = "checkpoints-"; Loading Loading @@ -1179,6 +1180,10 @@ static void AddAnrTraceDir(const std::string& anr_traces_dir) { } else { printf("*** NO ANRs to dump in %s\n\n", ANR_DIR.c_str()); } // Add Java anr traces (such as generated by the Finalizer Watchdog). AddDumps(ds.anr_trace_data_.begin(), ds.anr_trace_data_.end(), "JAVA ANR TRACES", true /* add_to_zip */); } static void AddAnrTraceFiles() { Loading Loading @@ -1905,6 +1910,7 @@ Dumpstate::RunStatus Dumpstate::DumpstateDefaultAfterCritical() { if (!PropertiesHelper::IsDryRun()) { ds.tombstone_data_ = GetDumpFds(TOMBSTONE_DIR, TOMBSTONE_FILE_PREFIX); ds.anr_data_ = GetDumpFds(ANR_DIR, ANR_FILE_PREFIX); ds.anr_trace_data_ = GetDumpFds(ANR_DIR, ANR_TRACE_FILE_PREFIX); ds.shutdown_checkpoints_ = GetDumpFds( SHUTDOWN_CHECKPOINTS_DIR, SHUTDOWN_CHECKPOINTS_FILE_PREFIX); } Loading Loading @@ -3046,6 +3052,7 @@ void Dumpstate::Cancel() { } tombstone_data_.clear(); anr_data_.clear(); anr_trace_data_.clear(); shutdown_checkpoints_.clear(); // Instead of shutdown the pool, we delete temporary files directly since Loading Loading @@ -3341,6 +3348,7 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, tombstone_data_.clear(); anr_data_.clear(); anr_trace_data_.clear(); shutdown_checkpoints_.clear(); return (consent_callback_ != nullptr && Loading
cmds/dumpstate/dumpstate.h +3 −0 Original line number Diff line number Diff line Loading @@ -526,6 +526,9 @@ class Dumpstate { // List of open ANR dump files. std::vector<DumpData> anr_data_; // List of open Java traces files in the anr directory. std::vector<DumpData> anr_trace_data_; // List of open shutdown checkpoint files. std::vector<DumpData> shutdown_checkpoints_; Loading