Daniel Mustieles
daniel.musiteles@gmail.com 2018, 2019

# Perfilado

# Cómo perfilar su sistema

Cuando Sysprof perfila su sistema guarda información apilada sobre todas las aplicaciones en ejecución, incluyendo el núcleo Linux. Esto puede ser confuso algunas veces si sólo quiere ver un único proceso. Si su aplicación no interactúa mucho con el equipo anfitrión puede que resulte mejor usar Sysprof para lanzar un proceso nuevo.

Para perfilar el sistema completo asegúrese de que el botón de objetivo indica Todos los procesos y pulse Grabar.

En este punto se le pedirá que autorice el acceso para perfila el sistema. Esto es necesario ya que la implementación del núcleo Linux de «perf» requiere root para realizar el perfilado del sistema completo.

Durante el perfilado verá el número de segundo que el perfil ha estado activo. Al pulsar el botón Grabar otra vez se detendrá el perfilado. Después de esto se mostrará un gráfico de llamadas.

Si considera que la aplicación sysprof se está mostrando en su gráfico de llamadas de perfilado pued considerar guardar la sesión de perfilado con sysprof-cli. Este programa de línea de comandos guardará su sesión de perfilado en disco para verla posteriormente.

Consulte Interpretar los resultados para obtener más ayuda.

# Perfilar un proceso nuevo

Often times, you may need to spawn a new process to profile. First, select the Application button next at the top of the recording window. Fill in your command and working directory, and optionally specify any environment variables you need. Your process will be started when recording begins.

Si está lanzando procesos que requieran acceso a su pantalla actual, como puede ser una aplicación GTK+, querrá asegurarse de que la opción Heredar entorno actual está activada.

# Perfilar con la herramienta de línea de comandos sysprof-cli

Para simplificar, puede considerar usar la herramienta de línea de comandos sysprof-cli. Cuando se ejecuta sin argumentos perfila el sistema completo y guarda los resultados en capture.syscap. Este archivo se puede abrir con la aplicación Sysprof para ver la lista de llamadas.

If you would like to spawn a new process, use sysprof-cli -- 'command' to specify a command to be launched. The command will inherit the current environment.

# Interpretar los resultados

Los resultados del perfilado en Sysprof se dividen en tres secciones. En la parte superior izquierda hay una lista de todas las funciones perfiladas. Se ordenan por la frecuencia con la que se han llamado durante la grabación.

Es importante tener en cuenta que la cantidad de tiempo usada por cada función no se captura. Esto requeriría un perfilador de rastreo para grabar con precisión. El porcentaje se calcula determinando la frecuencia con la que cada función aparecía en la pila de llamadas actual cuando se grabó la muestra.

Después de seleccionar una función en la lista todas las llamadas a esa función grabadas se mostrarán en la parte izquierda. También se ordenarán por el porcentaje de muestras que han incluido esa función en la pila de llamadas.

A la derecha están todos los descendientes de la función seleccionada. Puede elegir una función bien de la fista de funciones o de la lista de llamadas.

If you see - - Context Switch - - in your results, that means that the application transitioned into or from the Linux kernel. There can be many reasons for this such as a syscall or signal.