● Versiones nuevas de las herramientas ayudan al análisis no al
contenido
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 6 de 34
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Ftrace y kernelshark
Eventos y parametros
Para obtener la lista: trace-cmd report --events
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 7 de 34
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Ftrace y kernelshark
Eventos para un diagrama de ejecución
● Eventos de la familia sched:
● sched_wakeup
– Un thread entra en la ready queue (aun no ejecuta)
● sched_switch
– Un thread comienza o deja de ejecutar
● sched_migrate_task
– Un thread pasa a la ready queue de otro core
● Latencia:
● Diferencia de tiempo entre el sched_wakeup y el correspondiente
sched_switch
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 8 de 34
Workflows
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Ftrace y kernelshark
Trace-cmd y kernelshark
● Trace-cmd: Front-end consola de Ftrace via DebugFS
● Selección de eventos, plugin-tracers y opciones
● Activación y parada de la captura
● Traspaso a user-space de los ficheros de traza en binario
● Traducción del binario para generar salida en texto
● Kernelshark: Interfaz gráfica de visualización y captura Ftrace
● Realiza todas las operaciones de trace-cmd excepto la traducción de
trace.dat a texto.
● Diagramas de ejecución en el tiempo
● Filtra CPU, tarea y eventos
● Hace zooms in y out
● Mide tiempos dentro del diagrama
● Aun algo inestable pero bastante usable
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 10 de 34
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Ftrace y kernelshark
Obtención de trace-cmd y kernelshark
● Obtener las fuentes del git de su autor Steven Rodstedt
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
● Compilar e instalar:
– make gui && make doc && sudo make install_gui && sudo make install_doc
● Como paquete Debian:
● En Ubuntu tienen la versión 1.03 obsoleta: no captura desde kernelshark
● En la web tenemos empaquetada la versión 2.1.0
Eventos habilitados (RO)
lugin-tracers habilitados (RO)
Tamaño del buffer circular del kernel (RW)
Plugin-tracer usado (RW)
Directorio con los eventos disponibles
Directorio con las opciones disponibles
Acceso a los datos de cada core
Eventos extras que se capturan (RW)
Traza resultado (RO)
Relojes (local core, global core o medio) (RO)
Entrada para datos de usuario entrelazados (WO)
Opciones activas de la traza (RW)
Acceso a la traza en modo consumidor (RO)
Máscara de captura de trazas de CPU (RW)
Traza activa o parada (RW)
Versión obsoleta de tracing_on
Buffer interno de para asociar PIDs y cmdlines
Formatos de cada evento (RO)
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 15 de 34
Recorrido rápido por KernelShark
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Ftrace y kernelshark
Análisis desde kernelshark
diagrama
lista
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 17 de 34
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Ftrace y kernelshark
KernelShark: lo que se muestra en la pantalla
● Vista de diagrama:
● Diagramas de CPU: Cada task tiene un color distinto.
● Diagramas de task: Cada CPU que usa la task tiene un color distinto
● Vista de lista (lo no evidente):
● Timestamp en sg.us
● Latency: Flags
– d: disabled interrupts
– N: Needs schedule
– h, s: In hard or soft irq
– Preemption counter (si != '.', el kernel no expulsa otras tareas)
–
(kernel < 2.6.39) Lock depth: Si se tiene le BKL cogido
4 Mar 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 18 de 34
Computadores y Tiempo Real
Universidad de Cantabria
Comentarios de: Ftrace y kernelshark (0)
No hay comentarios