Verwendung des Speicherprofil-Browsers von Heapy mit Twisted.web

8

Ich versuche, twisted python code mit Heapy zu profilieren. Zum Beispiel (Pseudocode):

%Vor%

Was muss ich tun, um die Ergebnisse des Heapy-Profils im Profilbrowser anzuzeigen?

    
roder 25.08.2009, 23:22
quelle

1 Antwort

6

Nachdem ich über die Guppy-Website geschaut habe und keine Informationen darüber gefunden habe, wie ich den Profilbrowser starten soll, habe ich mich um die Guppy-Quelle gekümmert und schließlich Guppy / Heapy / Prof.py gefunden, an dessen Ende ich einen Docstring gesehen habe enthält diese Zeile:

%Vor%

Dann erinnerte ich mich daran, dass ich eine Dokumentation mit dem Rückgabetyp von guppy.hpy als Use gesehen hatte. Ich überprüfte, ob guppy.hpy (). pb () irgendetwas tun würde. Und tatsächlich tut es das. So scheint es zu sein, wie der Profiler-Browser gestartet wird. Ich bin mir nicht sicher, ob Sie das fragen, aber ich musste es herausfinden, bevor ich den anderen möglichen Teil Ihrer Frage beantworten konnte. :)

Es scheint der einfachste Weg, diese Informationen verfügbar zu machen, eine Ressource in Ihrem Webserver zu machen, die Use.pb als Teil ihres Renderprozesses aufruft. Es gibt andere Ansätze, z. B. das Einbetten eines Einstiegslochs in Ihre Anwendung oder das Verwenden eines Signal-Handlers, um es auszulösen, aber ich mag die Ressourcen-Idee. Also zum Beispiel:

%Vor%

Dann können Sie / profile-browser besuchen, wenn Sie sich den Profilbrowser ansehen möchten. Der "pb" -Aufruf blockt, bis der Profilbrowser beendet wird (beachte, dass das Schließen des Fensters mit der wm destroy-Taste nicht dazu führt, dass es zurückkehrt - nur der Exit-Menüpunkt scheint), so dass Ihr Server hängt, bis Sie ihn schließen das Fenster, aber zu Debugging-Zwecken scheint es, als wäre es in Ordnung.

    
Jean-Paul Calderone 24.09.2009, 15:18
quelle

Tags und Links