2009-09-03 11 views
9

utilizando herramientas tales como:¿Cuál es la mejor forma de obtener el resultado más útil de oprofile?

  • opreport
  • opcontrol
  • opannotate

estoy empezando a utilizar esta herramienta y tratando de encontrar las mejores combinaciones, ejemplos para el máximo provecho de perfilar

Gracias

+1

El significado de "mejor" siempre depende del significado de "bueno", y eso no siempre es obvio, lo que es. ¿Podría describir qué cosas buenas está buscando? – hlovdal

Respuesta

5

mira el KCachegrind - es una herramienta de visualización de datos de perfil.

KCachegrind visualizar archivos de datos generados por Callgrind herramienta de creación de perfiles. Pero con conversion scripts, KCachegrind es capaz de visualizar la salida de otros perfiladores como OProfile.

Cuando instala KCachegrind usando un administrador de paquetes (yum, apt-get, etc.) obtiene una herramienta llamada op2calltree que transforma la salida de Oprofile al formato de KCachegrind.

6

gprof2dot es la herramienta de visualización más sorprendente para los datos de perfil.

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 

gprof2dot 's opción --skew es muy agradable cuando la perforación hasta el código de problema real.

Recuerde que no puede establecer el calígrafo si ha configurado manualmente el contador de eventos en un número bajo. Esté por defecto el al utilizar la opción --callgraph el contador mínimo es 15 veces más grande que la que aparece en --list-events


Editar: ejemplo captura de pantalla: gprof2dot.py example output

La resolución se reduce a evitar la divulgación de datos confidenciales , Pero se entiende la idea.

+0

¿Crees que es mejor que KCachegrind? ¿Tienes una captura de pantalla? –

+2

@NathanKidd: Tengo una respuesta más completa sobre gprof2dot aquí: http://stackoverflow.com/a/4453999/28817 –

+0

He subido una captura de pantalla. Muchas gracias por la herramienta! – ulidtko

Cuestiones relacionadas