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.

È stato utile?

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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top