2009-07-23 15 views
5

laufen Wie kann ich ein Python-Skript auf mod_wsgi auf Apache laufen ProfilProfilieren Python Scripts auf mod_wsgi

Ich mag würde cProfile verwenden, aber es scheint es mir erfordert eine Funktion manuell aufzurufen. Gibt es eine Möglichkeit, cProfile global zu aktivieren und die Protokollierungsergebnisse zu behalten?

Antwort

9

Sie müssen Ihre wsgi-Anwendungsfunktion in eine andere Funktion einfügen, die Ihre Funktion nur mit cProfile aufruft und diese als Anwendung verwendet. Oder Sie können vorhandene WSGI-Middleware wiederverwenden, um das für Sie zu tun, zum Beispiel repoze.profile tut ziemlich genau das, was Sie scheinen wollen.

+0

repoze.profile perfekt für meine Aufgabe gearbeitet! –

0

Hier ist die WSGI-Profil-Middleware für WHIFF (derzeit nur aus dem Merkur-Repository verfügbar): profile.py. Das sollte dich beginnen. Wenn Sie ändern möchten es außerhalb des WHIFF Kontext ausführen, um die Linie zu ändern

gateway.putResource(env, resourcePath, report) 

um so etwas wie

file("/tmp/profile.txt", "w").write(report)