2009-09-03 10 views
9

utilizzando strumenti quali:Qual è il modo migliore per ottenere l'output più utile da oprofile?

  • opreport
  • opcontrol
  • opannotate

Sto iniziando a utilizzare questo strumento e cercando di trovare le migliori combinazioni, esempi per ottenere il massimo di profilazione.

Grazie

+1

Il significato di "migliore" dipende sempre dal significato di "buono", e ciò non è sempre ovvio. Potresti descrivere quali sono le cose buone che stai cercando? – hlovdal

risposta

5

guardare il KCachegrind - è uno strumento di visualizzazione dei dati del profilo.

KCachegrind visualizza i file di dati generati dallo strumento profiler Callgrind. Ma con conversion scripts, KCachegrind è in grado di visualizzare l'output di altri profiler come OProfile.

Quando si installa KCachegrind utilizzando un gestore di pacchetti (yum, apt-get, ecc) si ottiene uno strumento chiamato op2calltree che trasforma l'uscita di Oprofile in formato di KCachegrind.

6

gprof2dot è lo strumento di visualizzazione più sorprendente per i dati del profilo.

opcontrol --shutdown 
opcontrol --callgraph=7 
opcontrol --image=<abs/path/to/your/execuable> 
opcontrol --start 

... time passes ... 

opcontrol --dump 
opreport -c > profile_info.txt 
gprof2dot.py -f oprofile --strip profile_info.txt | dot -Tsvg > profile_graph.svg 
inkscape profile_graph.svg 

s' gprof2dot opzione --skew è davvero bello quando il drill-down il codice vero e proprio problema.

Ricordare che non è possibile impostare callgraph se si è impostato manualmente il contatore eventi su un numero basso. Essere di default il quando si utilizza l'opzione --callgraph il contatore minimo è 15 volte più grande di quello indicato nei --list-events


Edit: schermata di esempio: gprof2dot.py example output

La risoluzione viene ridotta per evitare la divulgazione di dati riservati , ma tu hai l'idea.

+0

Pensi che sia meglio di KCachegrind? Hai uno screenshot? –

+2

@NathanKidd: Ho una risposta più completa su gprof2dot qui: http://stackoverflow.com/a/4453999/28817 –

+0

Ho caricato uno screenshot. Mille grazie per lo strumento! – ulidtko

Problemi correlati