@@ -957,13 +957,7 @@ async def debug_request(self, stream, ident, parent):
957
957
958
958
def get_process_metric_value (self , process , name , attribute = None ):
959
959
try :
960
- # psutil.Process methods will either return...
961
- pid = process .pid
962
- p = self .processes .get (pid , None )
963
- if not p :
964
- self .processes [pid ] = process
965
- p = self .processes .get (pid )
966
- metric_value = getattr (p , name )()
960
+ metric_value = getattr (process , name )()
967
961
if attribute is not None : # ... a named tuple
968
962
return getattr (metric_value , attribute )
969
963
else : # ... or a number
@@ -979,15 +973,14 @@ async def usage_request(self, stream, ident, parent):
979
973
all_processes = [current_process ] + current_process .children (recursive = True )
980
974
# Ensure 1) self.processes is updated to only current subprocesses
981
975
# and 2) we reuse processes when possible (needed for accurate CPU)
982
- self .processes = {process .pid : self .processes .get (process .pid , process ) for process in all_processes }
983
976
self .processes = {
984
977
process .pid : self .processes .get (process .pid , process ) for process in all_processes
985
978
}
986
979
reply_content ["kernel_cpu" ] = sum (
987
- [self .get_process_metric_value (process , "cpu_percent" , None ) for process in all_processes ]
980
+ [self .get_process_metric_value (process , "cpu_percent" , None ) for process in self . processes . values () ]
988
981
)
989
982
reply_content ["kernel_memory" ] = sum (
990
- [self .get_process_metric_value (process , "memory_info" , "rss" ) for process in all_processes ]
983
+ [self .get_process_metric_value (process , "memory_info" , "rss" ) for process in self . processes . values () ]
991
984
)
992
985
host_cpu_percent = psutil .cpu_percent ()
993
986
# https://psutil.readthedocs.io/en/latest/index.html?highlight=cpu#psutil.cpu_percent
0 commit comments