Conhecendo o Dtrace

13
Conhecendo o Dtrace Daniel Cunha OSUM/CEOSUG Leader [email protected] http://osum.sun.com/profile/danielcunha

Transcript of Conhecendo o Dtrace

Page 1: Conhecendo o Dtrace

Conhecendo o

DtraceDaniel CunhaOSUM/CEOSUG [email protected]://osum.sun.com/profile/danielcunha

Page 2: Conhecendo o Dtrace

Dtrace> O que é o Dtrace?> Arquitetura Dtrace> Estrutura do script

> Probe> Provedor> Módulo/Função> Nome

> Predicado> Ações

> Referências

> Conhecendo o Dtrace – Open Source University Meetup

Page 3: Conhecendo o Dtrace

O que é o Dtrace?> Framework criado pela Sun Microsystems para o Solaris 10 que oferece ao administrador de sistemas uma maneira compreensível de acompanhar e rastrear todas as operações internas de cada processo ou rotina do sistema, tornando-se uma poderosa ferramenta para diagnóstico avançado de problemas ou otimizações.

> Portável para (Open)Solaris, Mac OS X, Linux e BSD.

> Conhecendo o Dtrace – Open Source University Meetup

Page 4: Conhecendo o Dtrace

Arquitetura Dtrace

> Conhecendo o Dtrace – Open Source University Meetup

Page 5: Conhecendo o Dtrace

Estrutura do script#!/usr/sbin/dtrace -s

Descrição do probe/predicado/{Ações

}

> Conhecendo o Dtrace – Open Source University Meetup

Page 6: Conhecendo o Dtrace

Probe> Descreve o que queremos ouvir/sondar na execução do script

> Descrito através de 4 campos (Provedor, Modulo, Função e Nome)

> Conhecendo o Dtrace – Open Source University Meetup

Page 7: Conhecendo o Dtrace

Probe | Provedor> Especifica o método de instrumentação a ser utilizada.

#!/usr/sbin/dtrace -s

syscall:::/predicado/{

Ações}

> Conhecendo o Dtrace – Open Source University Meetup

Page 8: Conhecendo o Dtrace

Probe | Módulo/Função> Descreve o módulo/função que deseja observar.

#!/usr/sbin/dtrace -s

syscall:libc:main:/predicado/{

Ações}

> Conhecendo o Dtrace – Open Source University Meetup

Page 9: Conhecendo o Dtrace

Probe | Nome> Tipicamente representa o local da função.

#!/usr/sbin/dtrace -s

syscall:libc:main:entry/predicado/{

Ações}

> Conhecendo o Dtrace – Open Source University Meetup

Page 10: Conhecendo o Dtrace

Predicado> Pode ser qualquer expressão D.

> A ação é executada apenas quando a mesma for true.

#!/usr/sbin/dtrace -s

syscall:libc:main:entrycpu == 0{

Ações}

> Conhecendo o Dtrace – Open Source University Meetup

Page 11: Conhecendo o Dtrace

Ações> Neste seção podemos conter diversas ações separadas por ponto e vírgula (;).

#!/usr/sbin/dtrace -s

syscall:libc:main:entrycpu == 0{

printf(“%4d”,cpu);}

> Conhecendo o Dtrace – Open Source University Meetup

Page 12: Conhecendo o Dtrace

Referências> Oracle Technology Network

http://oracle.com/technology

> DTrace (Dynamic Tracing) Communityhttp://hub.opensolaris.org/bin/view/Community+Group+dtrace/

> BigAdmin System Administration Portal – Dtracehttp://www.sun.com/bigadmin/content/dtrace/index.jsp

> Conhecendo o Dtrace – Open Source University Meetup

Page 13: Conhecendo o Dtrace

Conhecendo o

DtraceDaniel CunhaOSUM/CEOSUG [email protected]://osum.sun.com/profile/danielcunha