How can I track/monitor an application and system resources.

R

richard_l

Hello All,

I'm a newbie to Python!

I am trying to develop a program that monitors the performance of an
application. The kind of information I am interested in is the CPU/
Process/Thread and memory performance. Specifically, I would like to
track the following

CPU usage
Used Memory on Phone
Free Memory on Phone
Number of Processes running
Number of threads running
Number of Filehandles currently open
Memory used by a process/thread
Process/Thread CPU activity.

All this under Windows

Can anyone help me, or direct me to the appriopriate API's so I can
get the above information?

Does anyone have any other sugestions on what else I could monitor for
a running application?

Does anyone have any example code they can direct me to?

Many thanks in advance,


Richard
 
J

Jordan

Hello All,

I'm a newbie to Python!

I am trying to develop a program that monitors the performance of an
application. The kind of information I am interested in is the CPU/
Process/Thread and memory performance. Specifically, I would like to
track the following

CPU usage
Used Memory on Phone
Free Memory on Phone
Number of Processes running
Number of threads running
Number of Filehandles currently open
Memory used by a process/thread
Process/Thread CPU activity.

All this under Windows

Can anyone help me, or direct me to the appriopriate API's so I can
get the above information?

Does anyone have any other sugestions on what else I could monitor for
a running application?

Does anyone have any example code they can direct me to?

Many thanks in advance,

Richard

You will definitely want to check out pywin32api, because it is the
best (and most powerful) way to interact with windows through python.
Also, if you know any c++, you might search for taskmanager extensions
on codeproject.com or look at the msdn on taskmanager to see how it
gets all of its information (which is essentially what you want -- a
taskmanager). Either way you'll almost defitely need pywin32, so look
there first.

Cheers,
Jordan
 
T

Tim Golden

Hello All,

I'm a newbie to Python!

I am trying to develop a program that monitors the performance of an
application. The kind of information I am interested in is the CPU/
Process/Thread and memory performance. Specifically, I would like to
track the following

CPU usage
Used Memory on Phone
Free Memory on Phone
Number of Processes running
Number of threads running
Number of Filehandles currently open
Memory used by a process/thread
Process/Thread CPU activity.

All this under Windows

Not sure about the "... on Phone" bit. Assuming you're
on a supported platform, sounds like you want to look
at the WMI stuff, in particular Win32_PerfFormattedData[1].
There are examples around the web, usually in VBS style.
They're easy enough to translate into Python, either
using the win32com module[2] directly, or using my WMI
helper module[3].

[1] http://msdn2.microsoft.com/en-us/library/aa394253.aspx
[2] http://pywin32.sf.net
[3] http://timgolden.me.uk/python/wmi.html

TJG
 
R

richard_l

Hello,

Many thanks for your advice so far!

The phone reference is actually because the target device is WM 5.0.
I've found a python port Pyce that will run on this platform. We have
a target application that runs on this platform which we would like to
develop some automated tests for. The application is written in VC++
and we're using python to stress test it!

Many thanks again!

R.

Hello All,
I'm a newbie to Python!
I am trying to develop a program that monitors the performance of an
application. The kind of information I am interested in is the CPU/
Process/Thread and memory performance. Specifically, I would like to
track the following
CPU usage
Used Memory on Phone
Free Memory on Phone
Number of Processes running
Number of threads running
Number of Filehandles currently open
Memory used by a process/thread
Process/Thread CPU activity.
All this under Windows

Not sure about the "... on Phone" bit. Assuming you're
on a supported platform, sounds like you want to look
at the WMI stuff, in particular Win32_PerfFormattedData[1].
There are examples around the web, usually in VBS style.
They're easy enough to translate into Python, either
using the win32com module[2] directly, or using my WMI
helper module[3].

[1]http://msdn2.microsoft.com/en-us/library/aa394253.aspx
[2]http://pywin32.sf.net
[3]http://timgolden.me.uk/python/wmi.html

TJG- Hide quoted text -

- Show quoted text -
 
T

Tim Golden

The phone reference is actually because the target device is WM 5.0.
I've found a python port Pyce that will run on this platform. We have
a target application that runs on this platform which we would like to
develop some automated tests for. The application is written in VC++
and we're using python to stress test it!

You'll have to investigate a bit to see what APIs are
available for the platform. I'm afraid I've no experience
with portable devices, but some of my colleagues who've
done embedded database work on GPRS scanners tell me that
the API is quite cut-back.

Apart from WMI -- which could well not be there -- there
are also the Performance APIs which are exposed by pywin32
in the win32pdh module. Again, though, you'd have to check
if they're supported.

TJG
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top