SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Dtrace
                    Conhecendo o




Daniel Cunha
OSUM/CEOSUG Leader
danielsoro@gmail.com
http://osum.sun.com/profile/danielcunha
> Conhecendo o Dtrace – Open Source University Meetup




 > O que é o Dtrace?
                     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:entry
             cpu == 0
             {
               Ações
             }
> Conhecendo o Dtrace – Open Source University Meetup




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

             #!/usr/sbin/dtrace -s

             syscall:libc:main:entry
             cpu == 0
             {
               printf(“%4d”,cpu);
             }
> Conhecendo o Dtrace – Open Source University Meetup




                      Referências
 > Oracle    Technology Network
     http://oracle.com/technology
 > DTrace     (Dynamic Tracing) Community
     http://hub.opensolaris.org/bin/view/Community+Group+dtrace/
 > BigAdmin       System Administration Portal – Dtrace
     http://www.sun.com/bigadmin/content/dtrace/index.jsp
Dtrace
                    Conhecendo o




Daniel Cunha
OSUM/CEOSUG Leader
danielsoro@gmail.com
http://osum.sun.com/profile/danielcunha

Mais conteúdo relacionado

Semelhante a Conhecendo o Dtrace

Django Apps - Do Núcleo a Otimização
Django Apps - Do Núcleo a OtimizaçãoDjango Apps - Do Núcleo a Otimização
Django Apps - Do Núcleo a OtimizaçãoLeandro Zanuz
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixHeber Souza
 
Os 10 Maus Hábitos dos Desenvolvedores JSF
Os 10 Maus Hábitos dos Desenvolvedores JSFOs 10 Maus Hábitos dos Desenvolvedores JSF
Os 10 Maus Hábitos dos Desenvolvedores JSFtarsobessa
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Rafael Ponte
 
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBCZabbix BR
 
Kali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandosKali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandosAndrReis107
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonTchelinux
 
Empacotamento Debian Básico
Empacotamento Debian BásicoEmpacotamento Debian Básico
Empacotamento Debian BásicoMarcelo Lira
 
OpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM ZonesOpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM ZonesMarcelo Arbore
 
Atividade programação script 1
Atividade programação script 1Atividade programação script 1
Atividade programação script 1Rtec Informatica
 
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...Sandro Suffert
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Elton Minetto
 

Semelhante a Conhecendo o Dtrace (20)

OpenSolaris a Céu Aberto
OpenSolaris a Céu AbertoOpenSolaris a Céu Aberto
OpenSolaris a Céu Aberto
 
Django Apps - Do Núcleo a Otimização
Django Apps - Do Núcleo a OtimizaçãoDjango Apps - Do Núcleo a Otimização
Django Apps - Do Núcleo a Otimização
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - Postfix
 
Os 10 Maus Hábitos dos Desenvolvedores JSF
Os 10 Maus Hábitos dos Desenvolvedores JSFOs 10 Maus Hábitos dos Desenvolvedores JSF
Os 10 Maus Hábitos dos Desenvolvedores JSF
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
 
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
 
J530 14 xdoclet
J530 14 xdocletJ530 14 xdoclet
J530 14 xdoclet
 
Kali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandosKali Linux : 10 linhas de comandos
Kali Linux : 10 linhas de comandos
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Azure Weekend 2016 - Bancos de Dados no Azure
Azure Weekend 2016 - Bancos de Dados no AzureAzure Weekend 2016 - Bancos de Dados no Azure
Azure Weekend 2016 - Bancos de Dados no Azure
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
 
Empacotamento Debian Básico
Empacotamento Debian BásicoEmpacotamento Debian Básico
Empacotamento Debian Básico
 
OpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM ZonesOpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM Zones
 
Doctrine for Dummies
Doctrine for DummiesDoctrine for Dummies
Doctrine for Dummies
 
Atividade programação script 1
Atividade programação script 1Atividade programação script 1
Atividade programação script 1
 
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...Iccyber2012   sandro suffert apura - jacomo picolini teamcymru - desafio fore...
Iccyber2012 sandro suffert apura - jacomo picolini teamcymru - desafio fore...
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 

Mais de Daniel Cunha

JSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web ServicesJSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web ServicesDaniel Cunha
 
Quick Web Application Development using JBoss Forge
Quick Web Application Development using JBoss ForgeQuick Web Application Development using JBoss Forge
Quick Web Application Development using JBoss ForgeDaniel Cunha
 
Java EE com Apache TomEE
Java EE com Apache TomEEJava EE com Apache TomEE
Java EE com Apache TomEEDaniel Cunha
 
Java ee com apache tom ee e tomee+ tdc - 2014
Java ee com apache tom ee e tomee+   tdc - 2014Java ee com apache tom ee e tomee+   tdc - 2014
Java ee com apache tom ee e tomee+ tdc - 2014Daniel Cunha
 

Mais de Daniel Cunha (6)

JSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web ServicesJSR 339 - Java API for RESTful Web Services
JSR 339 - Java API for RESTful Web Services
 
Quick Web Application Development using JBoss Forge
Quick Web Application Development using JBoss ForgeQuick Web Application Development using JBoss Forge
Quick Web Application Development using JBoss Forge
 
Java EE com Apache TomEE
Java EE com Apache TomEEJava EE com Apache TomEE
Java EE com Apache TomEE
 
Java ee com apache tom ee e tomee+ tdc - 2014
Java ee com apache tom ee e tomee+   tdc - 2014Java ee com apache tom ee e tomee+   tdc - 2014
Java ee com apache tom ee e tomee+ tdc - 2014
 
Conhecendo CDI
Conhecendo CDIConhecendo CDI
Conhecendo CDI
 
OSOL CEOSUG
OSOL CEOSUGOSOL CEOSUG
OSOL CEOSUG
 

Conhecendo o Dtrace

  • 1. Dtrace Conhecendo o Daniel Cunha OSUM/CEOSUG Leader danielsoro@gmail.com http://osum.sun.com/profile/danielcunha
  • 2. > Conhecendo o Dtrace – Open Source University Meetup > O que é o Dtrace? Dtrace > Arquitetura Dtrace > Estrutura do script > Probe > Provedor > Módulo/Função > Nome > Predicado > Ações > Referências
  • 3. > 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.
  • 4. > Conhecendo o Dtrace – Open Source University Meetup Arquitetura Dtrace
  • 5. > Conhecendo o Dtrace – Open Source University Meetup Estrutura do script #!/usr/sbin/dtrace -s Descrição do probe /predicado/ { Ações }
  • 6. > 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)
  • 7. > 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 }
  • 8. > 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 }
  • 9. > 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 }
  • 10. > 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:entry cpu == 0 { Ações }
  • 11. > Conhecendo o Dtrace – Open Source University Meetup Ações > Nesteseção podemos conter diversas ações separadas por ponto e vírgula (;). #!/usr/sbin/dtrace -s syscall:libc:main:entry cpu == 0 { printf(“%4d”,cpu); }
  • 12. > Conhecendo o Dtrace – Open Source University Meetup Referências > Oracle Technology Network http://oracle.com/technology > DTrace (Dynamic Tracing) Community http://hub.opensolaris.org/bin/view/Community+Group+dtrace/ > BigAdmin System Administration Portal – Dtrace http://www.sun.com/bigadmin/content/dtrace/index.jsp
  • 13. Dtrace Conhecendo o Daniel Cunha OSUM/CEOSUG Leader danielsoro@gmail.com http://osum.sun.com/profile/danielcunha