2010-09-21 4 views
7

Ho iniziato a creare il profilo di uno script che contiene molte istruzioni sleep(n). Tutto sommato, ottengo oltre il 99% del tempo di esecuzione trascorso a dormire. Tuttavia, occasionalmente si verificano problemi di prestazioni durante il tempo in cui svolge un lavoro reale, ma i pertinenti e interessanti dati di profilazione diventano molto difficili da identificare quando ad es. usando kcachegrind.Python cProfile: come filtrare le chiamate specifiche dai dati di profilazione?

C'è un modo per mettere in blacklist determinate chiamate/funzioni dall'essere profilate? In alternativa, come posso filtrare tale chiamata con la post-elaborazione del file di dati di profilazione?

Utilizzo il decoratore profilestats (http://pypi.python.org/pypi/profilestats).

Grazie

risposta

2

Hai bisogno di più di una semplice esclusi campioni durante il sonno(). Hai bisogno dei campioni rimanenti per dirti qualcosa di utile. Quello sarebbe il campionamento dello stack, sull'orario del wall-clock, che riassumeva la percentuale al livello della linea di codice. Zoom è un buon strumento per questo tipo di campionamento e spero che non sia troppo difficile ignorare i campioni che contengono una particolare funzione.

Problemi correlati