2009-07-23 12 views
5

Come posso profilo di uno script python in esecuzione su mod_wsgi su ApacheProfiling Python script in esecuzione su mod_wsgi

Vorrei utilizzare Cprofile ma sembra che mi obbliga a richiamare una funzione manualmente. C'è un modo per abilitare cProfile a livello globale e mantenerlo sui risultati di registrazione.

risposta

9

È necessario avvolgere la funzione dell'applicazione wsgi all'interno di un'altra funzione che chiama semplicemente la funzione utilizzando cProfile e la utilizza come applicazione. Oppure puoi riutilizzare il middleware WSGI esistente per farlo per te, ad esempio repoze.profile fa più o meno quello che sembri volere.

+0

repoze.profile ha funzionato perfettamente per il mio compito! –

0

Ecco il middleware WSGI profilo per WHIFF (attualmente disponibile solo dal repository Mercurial): profile.py. Questo dovrebbe iniziare. Se si desidera modificare l'esecuzione di fuori del contesto Whiff cambiare la linea

gateway.putResource(env, resourcePath, report) 

a qualcosa di simile

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