Conhecendo o Dtrace

Post on 06-Jun-2015

1.057 views 2 download

Transcript of Conhecendo o Dtrace

Conhecendo o

DtraceDaniel CunhaOSUM/CEOSUG Leaderdanielsoro@gmail.comhttp://osum.sun.com/profile/danielcunha

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

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

Arquitetura Dtrace

> Conhecendo o Dtrace – Open Source University Meetup

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

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

}

> Conhecendo o Dtrace – Open Source University Meetup

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

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

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

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

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

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

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

Conhecendo o

DtraceDaniel CunhaOSUM/CEOSUG Leaderdanielsoro@gmail.comhttp://osum.sun.com/profile/danielcunha