2010-03-26 2 views
4

J'ai couru cprofile sur un morceau de code, qui génère entre autres plusieurs threads qui font la plupart du travail. Lorsque j'ai regardé la sortie du profilage, je ne vois aucune journalisation de toutes les fonctions qui ont été appelées à l'intérieur des threads. Je suis sûr qu'ils ont été appelés, comme ils le font des choses qui sont faciles à voir comme l'écriture dans une base de données, etc.cProfil profile les appels à l'intérieur des threads?

Est-ce que cProfile ne traite pas les fils de profil? Est-ce que je manque quelque chose?

Répondre

6

trouvé la réponse ici: link

Il est intéressant de souligner que l'utilisation du profileur fonctionne uniquement (par défaut) sur le thread principal, et vous n'obtiendrez aucune information d'autres sujets si vous les utilisez . Cela peut être un peu un gotcha car il est complètement non mentionné dans la documentation du profileur. Si vous souhaitez également profiler les threads, vous devez examiner la fonction threading.setprofile() dans les docs.

Questions connexes