Salome HOME
[EDF29150] : no comment
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 26 Jan 2024 16:53:25 +0000 (17:53 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 26 Jan 2024 16:53:25 +0000 (17:53 +0100)
src/Container/SALOME_PyNode.py

index cb0f24511efe9d2f094fdaf84f03a5eb7ae78db5..941c52fa2b25589ac1e928daa61d99de80623559 100644 (file)
@@ -556,6 +556,13 @@ def StopMonitoring( monitoringInfo ):
   import KernelBasis
   KernelBasis.StopMonitoring(monitoringInfo.pid)
 
+def ReadCPUMemInfoInternal( fileName ):
+  import KernelBasis
+  ret = KernelBasis.ReadFloatsInFile( fileName )
+  cpu = ret[::2]
+  mem_rss = [ int(elt) for elt in ret[1::2]]
+  return [(a,b) for a,b in zip(cpu,mem_rss)]
+
 def ReadCPUMemInfo( monitoringInfo ):
   """
   Retrieve CPU/Mem data of monitoring.
@@ -568,11 +575,16 @@ def ReadCPUMemInfo( monitoringInfo ):
   -------
     list<float,str> : list of pairs. First param of pair is CPU usage. Second param of pair is rss memory usage
   """
-  import KernelBasis
-  ret = KernelBasis.ReadFloatsInFile( monitoringInfo.outFileName.filename )
-  cpu = ret[::2]
-  mem_rss = [ int(elt) for elt in ret[1::2]]
-  return [(a,b) for a,b in zip(cpu,mem_rss)]
+  return ReadCPUMemInfoInternal( monitoringInfo.outFileName.filename )
+
+def ReadInodeSizeInfoInternal( fileName ):
+  import datetime
+  with open(fileName, "r") as f:
+    coarseData = [ elt.strip() for elt in f.readlines() ]
+  tss = [ datetime.datetime.fromtimestamp( float(elt) ) for elt in coarseData[::3] ]
+  nbInodes = [int(elt) for elt in coarseData[1::3]]
+  volumeOfDir = coarseData[2::3]
+  return [(t,a,b) for t,a,b in zip(tss,nbInodes,volumeOfDir)]
 
 def ReadInodeSizeInfo( monitoringInfo ):
   """
@@ -588,13 +600,7 @@ def ReadInodeSizeInfo( monitoringInfo ):
                                       Second param of triplet is #inodes.
                                       Thirst param of triplet is size.
   """
-  import datetime
-  with open(monitoringInfo.outFileName.filename, "r") as f:
-    coarseData = [ elt.strip() for elt in f.readlines() ]
-  tss = [ datetime.datetime.fromtimestamp( float(elt) ) for elt in coarseData[::3] ]
-  nbInodes = [int(elt) for elt in coarseData[1::3]]
-  volumeOfDir = coarseData[2::3]
-  return [(t,a,b) for t,a,b in zip(tss,nbInodes,volumeOfDir)]
+  return ReadInodeSizeInfoInternal( monitoringInfo.outFileName.filename )
 
 class SeqByteReceiver:
   # 2GB limit to trigger split into chunks