ATLAS Offline Software
Loading...
Searching...
No Matches
python.DQProcMonitor Namespace Reference

Functions

 formatRusage (rusage)
 DQProcMon (*args, **kwargs)
 startProcMonThread (pollPeriod=1, file_name="DQResourceUtilization.txt")

Variables

str PROCMONVERSION = "$Id: DQProcMonitor.py 359096 2011-04-15 13:25:36Z kama $"

Function Documentation

◆ DQProcMon()

python.DQProcMonitor.DQProcMon ( * args,
** kwargs )

Definition at line 15 of file DQProcMonitor.py.

15def DQProcMon(*args,**kwargs):
16 # from resource import getrusage, RUSAGE_SELF, RUSAGE_CHILDREN
17 # from pprint import pformat,pprint
18 # from time import sleep, time
19 pollPeriod = kwargs.pop("poll_period", 1.0)
20 if pollPeriod < 0.25:
21 pollPeriod=0.25 #min poll time
22 filename = kwargs.pop("file_name","DQResourceUtilization.txt")
23 print("Monitoring thread poll period=",pollPeriod,"seconds, output file name=\"%s\""%filename)
24 with open(filename,'w') as resoutfile:
25 while True:
26 try:
27 ru=getrusage(RUSAGE_SELF)
28 cru=getrusage(RUSAGE_CHILDREN)
29 except Exception:
30 pass
31 #self_info="[utime=%f, stime=%f, maxrss=%s, minflt=%s, majflt=%s, nvcsw=%s, nivcsw=%s]" % (ru.ru_utime,
32 #ru.ru_stime, ru.ru_maxrss, ru.ru_minflt, ru.ru_majflt, ru.ru_)
33 resoutfile.write(str(time())+" <self> "+formatRusage(ru)+" <children> "+formatRusage(cru)+"\n")
34 #pprint(rusage,resoutfile)
35 resoutfile.flush()
36 sleep(pollPeriod)
37
void print(char *figname, TCanvas *c1)

◆ formatRusage()

python.DQProcMonitor.formatRusage ( rusage)

Definition at line 9 of file DQProcMonitor.py.

9def formatRusage(rusage):
10 fieldnames=["utime","stime","maxrss","shrmem","ushrmem","ushrstk","minflt",
11 "majflt","nswap","inblock","oublock","msgsnd","msgrcv",
12 "nsignals","nvcontsw","nivcontsw"]
13 return ", ".join(["=".join([n,"%s"%v] if isinstance(v, int) else [n,"%f"%v]) for n,v in zip(fieldnames,rusage)])
14

◆ startProcMonThread()

python.DQProcMonitor.startProcMonThread ( pollPeriod = 1,
file_name = "DQResourceUtilization.txt" )

Definition at line 38 of file DQProcMonitor.py.

38def startProcMonThread(pollPeriod=1,file_name="DQResourceUtilization.txt"):
39 from threading import Thread
40 ResMon=Thread(target=DQProcMon,args=[],kwargs={'poll_period':pollPeriod,
41 'file_name':file_name})
42 #ResMon.setDaemon(True)
43 ResMon.start()
44 print("========Starting DQProcMonThread==============")
45

Variable Documentation

◆ PROCMONVERSION

str python.DQProcMonitor.PROCMONVERSION = "$Id: DQProcMonitor.py 359096 2011-04-15 13:25:36Z kama $"

Definition at line 7 of file DQProcMonitor.py.