From bd9ffa5e971fb3234b7a0e4f2c30ca04e2084a0c Mon Sep 17 00:00:00 2001 From: yuyanqinghw Date: Sat, 3 May 2025 17:20:49 +0800 Subject: [PATCH 1/3] age hiperflog dir Signed-off-by: yuyanqinghw --- include/utilities.h | 1 + src/subcommand_dump.cpp | 2 +- src/subcommand_record.cpp | 1 + src/subcommand_report.cpp | 1 + src/utilities.cpp | 20 ++++++++++++++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/include/utilities.h b/include/utilities.h index b5a810e..8466a0a 100644 --- a/include/utilities.h +++ b/include/utilities.h @@ -338,6 +338,7 @@ bool IsStringToIntSuccess(const std::string &str, int &num); bool IsDirectoryExists(const std::string& fileName); bool CreateDirectory(const std::string& path, mode_t mode); bool IsValidOutPath(const std::string& path); +void AgeHiperflogFiles(); const std::string HMKERNEL = "HongMeng"; diff --git a/src/subcommand_dump.cpp b/src/subcommand_dump.cpp index 2b77003..f86fdc8 100644 --- a/src/subcommand_dump.cpp +++ b/src/subcommand_dump.cpp @@ -207,7 +207,7 @@ HiperfError SubCommandDump::OnSubCommand(std::vector& args) if (dumpFeatures_ || dumpAll_) { DumpFeaturePortion(indent_); } - + AgeHiperflogFiles(); return HiperfError::NO_ERR; } diff --git a/src/subcommand_record.cpp b/src/subcommand_record.cpp index 8f922fd..f4992cb 100644 --- a/src/subcommand_record.cpp +++ b/src/subcommand_record.cpp @@ -1535,6 +1535,7 @@ HiperfError SubCommandRecord::OnSubCommand(std::vector& args) OnlineReportData(); CloseClientThread(); RemoveVdsoTmpFile(); + AgeHiperflogFiles(); HIPERF_HILOGI(MODULE_DEFAULT, "SubCommandRecord finish"); return HiperfError::NO_ERR; } diff --git a/src/subcommand_report.cpp b/src/subcommand_report.cpp index ed5984e..325c872 100644 --- a/src/subcommand_report.cpp +++ b/src/subcommand_report.cpp @@ -618,6 +618,7 @@ HiperfError SubCommandReport::OnSubCommand(std::vector& args) #endif printf("report done\n"); + AgeHiperflogFiles(); return HiperfError::NO_ERR; } diff --git a/src/utilities.cpp b/src/utilities.cpp index 99aad1d..99b5f83 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -24,6 +24,7 @@ #include #endif +#include "directory_ex.h" #include "hiperf_hilog.h" #include "ipc_utilities.h" @@ -931,6 +932,25 @@ bool IsValidOutPath(const std::string& path) } return true; } + +void AgeHiperflogFiles() +{ +#if defined(is_ohos) && is_ohos + std::vector allFiles; + OHOS::GetDirFiles("/data/log/hiperflog/", allFiles); + std::set fileNames = {"/data/log/hiperflog/[shmm]", "/data/log/hiperflog/[vdso]", + "/data/log/hiperflog/.hiperf_record_control_c2s", + "/data/log/hiperflog/.hiperf_record_control_s2c"}; + for (std::string file : allFiles) { + if (fileNames.count(file)) { + HLOGD("the file is %s,not need to delete", file.c_str()); + continue; + } + OHOS::RemoveFile(file); + HIPERF_HILOGI(MODULE_DEFAULT, "remove hiperflog file : %{public}s", file.c_str()); + } +#endif +} } // namespace HiPerf } // namespace Developtools } // namespace OHOS -- Gitee From 7a7e4b697a0c065d185cb423b86de4f7f9a20393 Mon Sep 17 00:00:00 2001 From: yuyanqinghw Date: Sat, 3 May 2025 17:22:50 +0800 Subject: [PATCH 2/3] age hiperflog dir Signed-off-by: yuyanqinghw --- src/utilities.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utilities.cpp b/src/utilities.cpp index 99b5f83..a038afb 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -946,7 +946,9 @@ void AgeHiperflogFiles() HLOGD("the file is %s,not need to delete", file.c_str()); continue; } - OHOS::RemoveFile(file); + if (!OHOS::RemoveFile(file)) { + HIPERF_HILOGI(MODULE_DEFAULT, "remove hiperflog file : %{public}s failed", file.c_str()); + } HIPERF_HILOGI(MODULE_DEFAULT, "remove hiperflog file : %{public}s", file.c_str()); } #endif -- Gitee From bafde7b7e5a4c5b959d2bc1eddd2f78a17b6d983 Mon Sep 17 00:00:00 2001 From: yuyanqinghw Date: Wed, 14 May 2025 20:39:31 +0800 Subject: [PATCH 3/3] age hiperflog dir Signed-off-by: yuyanqinghw --- src/utilities.cpp | 5 +++-- test/unittest/common/native/utilities_test.cpp | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utilities.cpp b/src/utilities.cpp index a038afb..defbe7e 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -924,8 +924,8 @@ bool CreateDirectory(const std::string& path, mode_t mode) bool IsValidOutPath(const std::string& path) { - std::vector fineName = {"/data/log/hiperflog/", "data/log/hiperflog/"}; - for (auto name : fineName) { + std::vector fileName = {"/data/log/hiperflog/", "data/log/hiperflog/"}; + for (auto name : fileName) { if (StringStartsWith(path, name)) { return false; } @@ -948,6 +948,7 @@ void AgeHiperflogFiles() } if (!OHOS::RemoveFile(file)) { HIPERF_HILOGI(MODULE_DEFAULT, "remove hiperflog file : %{public}s failed", file.c_str()); + continue; } HIPERF_HILOGI(MODULE_DEFAULT, "remove hiperflog file : %{public}s", file.c_str()); } diff --git a/test/unittest/common/native/utilities_test.cpp b/test/unittest/common/native/utilities_test.cpp index a204fef..f0dc1a5 100644 --- a/test/unittest/common/native/utilities_test.cpp +++ b/test/unittest/common/native/utilities_test.cpp @@ -872,7 +872,7 @@ HWTEST_F(UtilitiesTest, IsDirectoryExists, TestSize.Level1) HWTEST_F(UtilitiesTest, CreateDirectory, TestSize.Level1) { std::string file = "/data/local/tmp/hiperf_test"; - EXPECT_EQ(CreateDirectory(file, HIPERF_FILE_PERM_770), true); + EXPECT_TRUE(CreateDirectory(file, HIPERF_FILE_PERM_770)); rmdir(file.c_str()); } @@ -884,7 +884,7 @@ HWTEST_F(UtilitiesTest, CreateDirectory, TestSize.Level1) HWTEST_F(UtilitiesTest, IsValidOutPath, TestSize.Level1) { std::string file = "/data/local/tmp/perf.data"; - EXPECT_EQ(IsValidOutPath(file), true); + EXPECT_TRUE(IsValidOutPath(file)); } /** @@ -895,7 +895,7 @@ HWTEST_F(UtilitiesTest, IsValidOutPath, TestSize.Level1) HWTEST_F(UtilitiesTest, IsValidOutPathErr, TestSize.Level2) { std::string file = "/data/log/hiperflog/perf.data"; - EXPECT_EQ(IsValidOutPath(file), false); + EXPECT_FALSE(IsValidOutPath(file)); } } // namespace HiPerf } // namespace Developtools -- Gitee