From 2c47d0468755053dd6eccbf6924713d532f30403 Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Fri, 26 Jan 2024 17:53:25 +0100 Subject: [PATCH] [EDF29150] : no comment --- src/Container/SALOME_PyNode.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/Container/SALOME_PyNode.py b/src/Container/SALOME_PyNode.py index cb0f24511..941c52fa2 100644 --- a/src/Container/SALOME_PyNode.py +++ b/src/Container/SALOME_PyNode.py @@ -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 : 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 -- 2.30.2