As emocionantes aventuras de um sysadmin linux na procura pelo uptime perfeito!

Ftrace – tracing de funções do kernel Linux

Posted: novembro 10th, 2010 | Author: coredump | Filed under: Linux e Open Source, Programação | Tags: , , ,

Saiu um artigo sobre o assunto na LWN a alguns meses atrás, o function tracer do Kernel tá uma coisa linda. Basicamente a ferramenta é colocada diretamente no kernel para fazer tracing do que está acontecendo no kernel.

Eu tenho por exatamente usado para estudar internals. Por exemplo:

[tracing]# cat trace
          <idle>-0     [000] 1726568.996435: hrtimer_get_next_event <-get_next_timer_interrupt
          <idle>-0     [000] 1726568.996436: _spin_lock_irqsave <-hrtimer_get_next_event

Essa saída aí em cima mostra a thread idle (swapper), PID 0, rodando na CPU 0, timestamp de quando a função foi executada e as funções que estão rodando. Existem várias configurações que podem ser feitas, como por exemplo adicionar informações de latência no tracing. Isso faz com que além dos timestamps sejam colocadas as informações de quanto tempo cada função demorou para executar.

Eu escrevi um scriptizinho em bash para facilitar minha vida ao ligar e desligar o tracing. Na minha máquina funcionou beleza (ainda tem bugs, mas funciona), mas lembre-se que alguns tracers (como o function) tem de ser habilitados no Kernel e pelo menos no kernel do Debian não estavam. Como eu já estava recompilando o 2.6.36 para fazer alguns testes, aproveitei para habilitar.

O Perfikt é uma ferramenta  GTK que usa dados do Valgrind e aparentemente tem suporte para a interface de tracing do kernel, fornecendo uma interface gráfica bem simpática para a parada.

Mais sobre o assunto (em inglês):

intel

Compartilhe:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis
  • Identi.ca
  • Twitter

Posts relacionados:

  1. LinuxCon Brasil 2010 – Dia 2 Continuando, o segundo dia da LinuxCon prometia ser tão interessante...
  2. Turbogears (ou zope, ou ruby) Behind Apache: Diminuindo o load. E então, muita gente usa frameworks como o Turbogears ou...
  3. Resumo semanal de coisas nerds…. Apache na liderança também em sites SSL. Com o apache2...
  4. Sobre o novo sistema de avaliação de palestras do FISL Esse post é uma rant. Nem é tão pela minha...
  5. Fapesp e os Domínios com Acentuação Existe um limite para tudo, até para purismo… Recebi um...

No Comments »

Leave a Reply