From 96b40943b0400bb945a2281318ba3e9047694130 Mon Sep 17 00:00:00 2001 From: xiejing Date: Wed, 24 Jul 2024 14:26:56 +0800 Subject: [PATCH 1/2] add for offcputime_cmd run --- category/get_perf_info.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/category/get_perf_info.py b/category/get_perf_info.py index 1783d26..f221975 100644 --- a/category/get_perf_info.py +++ b/category/get_perf_info.py @@ -310,6 +310,10 @@ class OffCPU(): if self.__diff_kernel_version('4.8'): offcputime_cmd = '{} -df -p {} {} > {} 2> {}'.format(self.offcputime_tool, self.__pid, self.offcpu_duration, self.offcputime_stack_file, self.offcputime_stack_errfile) + + Logger().debug("offcputime_cmd : {}".format(offcputime_cmd)) + ret1, res1 = Command.private_cmd_run(offcputime_cmd, True) + return True else: Logger().warning("当前内核版本下,工具暂不提供off-cpu采集功能.") -- Gitee From 5f2e6e18b67e788201cdd00c5fc55b4d77fb0483 Mon Sep 17 00:00:00 2001 From: xiejing Date: Wed, 24 Jul 2024 14:31:51 +0800 Subject: [PATCH 2/2] add return code judge for offcputime_cmd --- category/get_perf_info.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/category/get_perf_info.py b/category/get_perf_info.py index f221975..6a58a9a 100644 --- a/category/get_perf_info.py +++ b/category/get_perf_info.py @@ -314,6 +314,17 @@ class OffCPU(): Logger().debug("offcputime_cmd : {}".format(offcputime_cmd)) ret1, res1 = Command.private_cmd_run(offcputime_cmd, True) + # 即使有错误信息输出,产生的stack文件也有可能成功输出火焰图 + if ret1: + Logger().debug("off-cpu采集异常, 请查看日志以分析原因") + return False + else: + if ret1 == 0 and os.path.getsize(self.offcputime_stack_file) == 0: + Logger().warning("offcputime采集数据为空, 文件路径: {}".format(self.offcputime_stack_file)) + return False + else: + pass + return True else: Logger().warning("当前内核版本下,工具暂不提供off-cpu采集功能.") -- Gitee