ダウザーをお勧めします。セットアップは非常に簡単で、コードを変更する必要はありません。シンプルな Web インターフェイスから、各タイプのオブジェクトの数を時系列で表示したり、ライブ オブジェクトのリストを表示したり、ライブ オブジェクトへの参照を表示したりできます。
# memdebug.py
import cherrypy
import dowser
def start(port):
cherrypy.tree.mount(dowser.Root())
cherrypy.config.update({
'environment': 'embedded',
'server.socket_port': port
})
cherrypy.server.quickstart()
cherrypy.engine.start(blocking=False)
memdebug をインポートし、memdebug.start を呼び出します。それで全部です。
PySizer や Heapy は試していません。他の方のレビューをいただければ幸いです。
アップデート
上記のコードは 用CherryPy 2.X
でCherryPy 3.X
、server.quickstart
メソッドは削除されており、フラグengine.start
を取りません。blocking
したがって、使用している場合CherryPy 3.X
# memdebug.py
import cherrypy
import dowser
def start(port):
cherrypy.tree.mount(dowser.Root())
cherrypy.config.update({
'environment': 'embedded',
'server.socket_port': port
})
cherrypy.engine.start()