[EMAIL PROTECTED] wrote:
Anyone know of a way to have a Python script capture its own Task
Manager statistics?
I have a long running Python script whose CPU, memory, disk i/o, and
network traffic I would like to monitor.
An alternative more generic approach would be to run an 'observer'
script that would monitor all Task Manager statistics so I could watch
multiple scripts.
Motivation: I would like to track this script's resource requirements
and if the script detects its exceeding some pre-defined resource limits
for a certain amount of time, to send out an alert.
This is the kind of thing which WMI was probably designed for.
Zenoss [1] uses it, for example, and I have had correspondence
with several people who used my wmi module [2] for this sort of
thing.
One caveat: WMI is basically a uniform layer over the more complex
API. It's *not* the fastest thing on earth and less so when filtered through
a Python wrapper round a Dispatch-based wrapper round the WMI
COM interface. YMMV.
There *are* specific performance classes [3] but often you'll just want to
watch the attributes for the Win32_Process [4] class (possibly specifying by
process_id). You can either poll, or you can use the WMI event model.[5][6]
TJG
[1] http://www.zenoss.com/
[2] http://timgolden.me.uk/python/wmi.html
[3] http://msdn.microsoft.com/en-us/library/aa392397(VS.85).aspx
[4] http://msdn.microsoft.com/en-us/library/aa394372(VS.85).aspx
[5] http://msdn.microsoft.com/en-us/library/aa393013(VS.85).aspx
[6] http://tgolden.sc.sabren.com/python/wmi-tutorial.html#monitoring
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32