私はダウザーをお勧めします。設定は非常に簡単で、コードを変更する必要はありません。単純な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()