Monday, August 30, 2004

Python Run Time Monitor Module

PyMonitor module is used to add support for enable runtime monitoring of an Python application.

After creating an instance of the MonitorServer and starting the MonitorServer thread it publish an XML-RPC interface that provides methods for listing all current availible class instances the monitored Python instance has allocated.
For a specific class instance the MonitorServer can provide information about all it's attributes and all class attributes for the given instance.

PyMonitor is using the gc (garbage collector) module for retriving all information.

The package also includes a simple GUI client also written in Python and wxPython.

This package were developed on my spare time for making "debuging" easier when developing a large control system written complete in Python.
It is now used for all products the company I'm working for for detection of leaking instances and finding dead locks and just for see how the system is doing when we run large tests.