guppy の Web サイトを調べた後、そこでプロファイル ブラウザーを起動する方法に関する情報が見つからなかったので、guppy のソースを調べ始め、最終的に guppy/heapy/Prof.py を見つけました。その最後に、この行を含む docstring を見つけました。 :
[0] heapy_Use.html#heapykinds.Use.pb
次に、guppy.hpy の戻り値の型を Use として指定しているドキュメントを見たことを思い出して、guppy.hpy().pb() が何かを実行するかどうかを確認しました。そして、確かにそうです。これが、プロファイラー ブラウザーの起動方法のようです。これがあなたが求めていたものかどうかはわかりませんが、あなたの質問の他の可能性のある部分に答える前に、それを理解する必要がありました. :)
この情報を利用できるようにする最も簡単な方法は、レンダリング プロセスの一部として Use.pb を呼び出す Web サーバーのリソースを作成することです。アプリケーションにマンホールを埋め込んだり、シグナル ハンドラーを使用してそれをトリガーしたりするなど、他のアプローチもありますが、私はリソースのアイデアが気に入っています。たとえば、次のようになります。
class ProfileBrowser(Resource):
def render_GET(self, request):
h.pb()
return "You saw it, right?"
...
root = RootResource(mq)
root.putChild("profile-browser", ProfileBrowser())
...
その後、プロファイル ブラウザを見たいときはいつでも /profile-browser にアクセスできます。「pb」呼び出しは、プロファイル ブラウザが終了するまでブロックされます (注: wm destroy ボタンでウィンドウを閉じるだけでは復帰しないようです。終了メニュー項目のみが復帰するようです)。そのため、終了するまでサーバーがハングします。ウィンドウですが、デバッグ目的では問題ないようです。