Salome HOME
[EDF29150] : monitoring of CPU and memory is integrated into log info of containers.
[modules/kernel.git] / src / Container / SALOME_ContainerHelper.py
index 439be02155b99a674af246099d13ba756cbf37bd..0d38486d0f485684f3c8438e71df851f7b87623f 100644 (file)
@@ -48,6 +48,7 @@ class ScriptExecInfo:
       return "{} {}".format(m,UNITS[3])
 
     def __init__(self):
+      self._cpu_mem_during_exec = None
       self._start_exec_time = None
       self._end_exec_time = None
       self._start_input_time = None
@@ -58,6 +59,20 @@ class ScriptExecInfo:
       self._input_hdd_mem = None
       self._output_mem = 0
       self._output_hdd_mem = None
+      
+    @property
+    def CPUMemDuringExec(self):
+      return self._cpu_mem_during_exec
+    
+    @CPUMemDuringExec.setter
+    def CPUMemDuringExec(self,value):
+      self._cpu_mem_during_exec = value
+
+    @property
+    def CPUMemDuringExecStr(self):
+      cpu = self._cpu_mem_during_exec[::2]
+      mem_rss = self._cpu_mem_during_exec[1::2]
+      return [(a,ScriptExecInfo.MemRepr(b)) for a,b in self._cpu_mem_during_exec]
 
     @property
     def inputMem(self):
@@ -175,6 +190,7 @@ class ScriptExecInfo:
       return """start exec time = {self.startExecTime}
 end exec time = {self.endExecTime}
 exec_time = {self.execTimeStr}
+CPU and mem monitoring = {self.CPUMemDuringExecStr}
 input unpickling and ev load from disk time = {self.inputTimeStr}
 output serialization and ev write to disk time = {self.outputTimeStr}
 input memory size before exec (MemoryPeak 2x) = {self.inputMemStr}