Signed-off-by: weiyaping <weiyaping@xfusion.com> (cherry picked from commit ed026d30b2ef1a9d841c6648131f915f9d581a08)
57 lines
2.3 KiB
Diff
57 lines
2.3 KiB
Diff
From 43c7e8eb00268570abbaeacbb2689079dddec63d Mon Sep 17 00:00:00 2001
|
|
From: weiyaping <weiyaping@xfusion.com>
|
|
Date: Fri, 15 Dec 2023 03:50:06 -0500
|
|
Subject: [PATCH] fix-bug-procsched-data-collection-issue
|
|
|
|
---
|
|
atune_collector/plugin/monitor/process/sched.py | 27 ++++++++++++++++---------
|
|
1 file changed, 17 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/atune_collector/plugin/monitor/process/sched.py b/atune_collector/plugin/monitor/process/sched.py
|
|
index f184957..0fadeba 100644
|
|
--- a/atune_collector/plugin/monitor/process/sched.py
|
|
+++ b/atune_collector/plugin/monitor/process/sched.py
|
|
@@ -107,7 +107,7 @@ class ProcSched(Monitor):
|
|
continue
|
|
|
|
pattern = re.compile(
|
|
- r"(\w+)\ {1,}\:\ {1,}(\d+.\d+)",
|
|
+ r"(\w+)\ {1,}\:\ {1,}(\d+\.?\d*)",
|
|
re.I | re.UNICODE | re.MULTILINE)
|
|
search_obj = pattern.findall(info)
|
|
search_list = []
|
|
@@ -118,13 +118,20 @@ class ProcSched(Monitor):
|
|
search_list.append(obj[0])
|
|
search_list.append(obj[1])
|
|
if len(search_obj) == 0:
|
|
- err = LookupError("Fail to find data")
|
|
- LOGGER.error("%s.%s: %s", self.__class__.__name__,
|
|
- inspect.stack()[0][3], str(err))
|
|
- raise err
|
|
+ return " " + " ".join(['0'] * len(keys))
|
|
+ proc_data = []
|
|
+ proc_keys = 0
|
|
+ proc_step = len(set(keys))
|
|
|
|
- while start <= len(self.__applications) * len(keys):
|
|
- for key in keys:
|
|
- ret = ret + " " + search_list[search_list.index(key, start)+1]
|
|
- start = search_list.index(key, start) + 1
|
|
- return ret
|
|
\ No newline at end of file
|
|
+ for key in keys:
|
|
+ if len(proc_data) >= self.__proc_flag.count(True) * proc_step:
|
|
+ break
|
|
+ proc_data.append(search_list[search_list.index(key, start) + 1])
|
|
+ start = search_list.index(key, start) + 1
|
|
+ for pid_flag in self.__proc_flag:
|
|
+ if not pid_flag:
|
|
+ ret = ret + " " + " ".join(['0'] * proc_step)
|
|
+ else:
|
|
+ ret = ret + " " + " ".join(proc_data[proc_keys:(proc_keys + proc_step)])
|
|
+ proc_keys += proc_step
|
|
+ return ret
|
|
--
|
|
1.8.3.1
|
|
|