2009-09-03 14 views
9

En utilisant des outils tels que:Quel est le meilleur moyen d'obtenir la sortie la plus utile d'oprofile?

  • opreport
  • opcontrol
  • opannotate

Je commence à utiliser cet outil et d'essayer de trouver les meilleures combinaisons, des exemples pour obtenir le maximum de profilage.

Merci

+1

La signification de «meilleur» dépend toujours de la signification de «bon», et cela n'est pas toujours évident. Pourriez-vous décrire les bonnes choses que vous recherchez? – hlovdal

Répondre

5

Regard sur le KCachegrind - c'est un outil de visualisation des données de profil.

KCachegrind Visualisez les fichiers de données générés par l'outil de profilage Callgrind. Mais avec conversion scripts, KCachegrind est capable de visualiser la sortie d'autres profileurs comme OProfile. Lorsque vous installez KCachegrind en utilisant un gestionnaire de paquets (yum, apt-get, etc.), vous obtenez un outil appelé op2calltree qui transforme la sortie d'Oprofile au format de KCachegrind.

6

gprof2dot est l'outil de visualisation le plus étonnant pour les données de profil.

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 

l'option de --skewgprof2dot est vraiment agréable lors de l'exploration du code de problème réel. Rappelez-vous que vous ne pouvez pas définir de graphique si vous avez défini manuellement le compteur d'événements sur un nombre faible. Être par défaut le lorsque vous utilisez l'option --callgraph le compteur minimum est 15 fois plus grand que celui indiqué dans --list-events


Edit: exemple capture d'écran: gprof2dot.py example output

La résolution est réduite pour éviter la divulgation de données confidentielles mais tu as l'idée.

+0

Pensez-vous que c'est mieux que KCachegrind? Avoir une capture d'écran? –

+2

@NathanKidd: J'ai une réponse plus complète sur gprof2dot ici: http://stackoverflow.com/a/4453999/28817 –

+0

J'ai téléchargé une capture d'écran. Merci beaucoup pour l'outil! – ulidtko