Script Python Profiling in esecuzione su mod_wsgi
Domanda
Come posso profilo di uno script python in esecuzione su mod_wsgi su Apache
Vorrei utilizzare Cprofile ma sembra che mi obbliga a richiamare una funzione manualmente. C'è un modo per consentire Cprofile a livello globale e farlo continuare a risultati di registrazione.
Soluzione
È necessario avvolgervi funzione di applicazione WSGI all'interno di un'altra funzione che chiama semplicemente la funzione utilizzando Cprofile e utilizzarlo come l'applicazione. Oppure si può riutilizzare middleware WSGI esistenti di farlo per voi, per esempio repoze.profile fa più o meno quello che si sembrano voler.
Altri suggerimenti
Ecco il profilo middleware WSGI per Whiff (attualmente disponibile solo dal repository Mercurial): profile.py . Questo dovrebbe iniziare. Se si desidera modificare per eseguire al di fuori del contesto Whiff cambiare la linea
gateway.putResource(env, resourcePath, report)
a qualcosa di simile
file("/tmp/profile.txt", "w").write(report)