Re: [FUG-BR] dtrace
On Wed, 31 May 2006 00:32:55 -0300, Eduardo B Ribeiro <[EMAIL PROTECTED]> wrote: > Ok, > > não é uma ferramenta para "relatórios gerenciais do sistema", isto é > certo. Mas a tarefa de desenvolvimento acaba sendo bem comum dentre > diversos admins. Vc pode estar com o sistema rodando ali apenas para > executar a sua app no ambiente do cliente, ou mesmo algum problema com > algo de terceiros que não quer funcionar no seu ambiente e os logs não > ajudam o suficiente. > Dentre outras coisas, já tive diversas ocasiões em que o truss (1) me > salvou o dia. > Acho que o dtrace será muito bem-vindo! :-) Claro que sim, Quando a ferramenta saiu eu pesquisei muito e ja vi varios admin (solaris) muito contentes .. e pq !!! http://daemons.net/~matty/articles/solaris.dtracetopten.html Olha alguns exemplos uteis!! Abracos!! Ricardo A. Reis UNIFESP Unix and Network Admin ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://mail.yahoo.com.br/ - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
On 5/31/06, Patrick Tracanelli <[EMAIL PROTECTED]> wrote: > Thadeu Penna wrote: > > On 5/30/06, Eduardo B Ribeiro <[EMAIL PROTECTED]> wrote: > > > >>Em Ter, 2006-05-30 às 23:20 -0300, Thadeu Penna escreveu: > >> > Ai entra um ponto interessante. Em geral desenvolvedores tem ferramentas > mais interessantes como os basicos depuradores pra encontrar esse tipo > de problema, e outras pra testar performance como o profiler (gprof) que > voce mesmo mencionou. Mas o poder do dtrace e extender essas analises do > desenvolvedor e coloca-las disponivel pra administradores, que tenham > nocoes basicas de como o sistema operacional se comporta, nao > necessariamente ligado ao desenvolvimento. Por exemplo, saber o que uma > syscall faz, reconhecer argumentos de descritores de arquivos. Sao > referencias que podem ser encontradas nas proprias sessoes de paginas de > manuais de interface do kernel, em qualquer FreeBSD. > Agora sim: o tal exemplo prático apareceu ! Obrigado, Patrick. Eu estou iniciando no FSB e vou dar uma olhada nestes comandos que você citou. []s -- Thadeu Penna Prof.Adjunto - Instituto de Física Universidade Federal Fluminense - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
Thadeu Penna wrote: > On 5/30/06, Eduardo B Ribeiro <[EMAIL PROTECTED]> wrote: > >>Em Ter, 2006-05-30 às 23:20 -0300, Thadeu Penna escreveu: >> >>> 1. How many times does a FreeBSD >>>buildworld/buildkernel/installkernel open each file and what are the >>>file names? >>> 2. What processes fork during a buildworld and how many times? >>> 3. Quantize the size of reads during a buildworld. >>> 4. Reading fields in the current thread structure. >>> >>>Não sei que informação útil tirar de nenhum dos quatro exemplos >>>acima :( >> >>Olá, >> >>Imagine que o exemplo refere-se a uma ferramenta muito interna do >>sistema (build) e que os dados extraídos ali certamente são de mais >>valia para quem está trabalhando com o sistema de rebuild do freebsd >>(debugando e/ou tentanto otimizá-lo). >>No entanto, se vc abstrair os exemplos, veja que poderá fazer o mesmo >>com qquer outra aplicação, tipo: algo que vc esteja desenvolvendo e que >>não esteja tendo o desempenho esperado em algum momento crítico de uso >>no seu cliente. Algum gargalo que costuma ser sempre difícil >>identificar. >>Nunca teve um caso daqueles em que o problema só acontece quando o >>"administrador não está", ou mesmo em algum determinado tipo de uso da >>ferramenta sob determinada condição ou estado do sistema/rede e tal? >>Bem, um debug dinâmico iria facilitar bastante, indo certamente além do >>que o loglevel de uma determinada aplicação poderá lhe informar, pois >>trata de operações e estados subjacentes às operações no nível do OS. A >>meu ver, isso facilitaria muuuito o dia-a-dia de qualquer administrador >>que tenha alguns dos famosos "clientes chatos", não? >> > > > Está ficando mais claro mas eu acho difícil que um administrador sem > noção de programação consiga retirar alguma informação importante > rapidamente (quantos admins sabem tirar informações do strace ? ;) . > Eu acho que interessa mais a desenvolvedores que admins: para > verificar gargalos no desenvolvimento, o gprof funciona bem pra mim, > mas o dtrace parece útil pois fornece informações em condições de > stress. Ai entra um ponto interessante. Em geral desenvolvedores tem ferramentas mais interessantes como os basicos depuradores pra encontrar esse tipo de problema, e outras pra testar performance como o profiler (gprof) que voce mesmo mencionou. Mas o poder do dtrace e extender essas analises do desenvolvedor e coloca-las disponivel pra administradores, que tenham nocoes basicas de como o sistema operacional se comporta, nao necessariamente ligado ao desenvolvimento. Por exemplo, saber o que uma syscall faz, reconhecer argumentos de descritores de arquivos. Sao referencias que podem ser encontradas nas proprias sessoes de paginas de manuais de interface do kernel, em qualquer FreeBSD. Dar ao usuario comum/administrador o recurso pra acompanhar sequencialmente cada uma dessas chamadas, os dados de entrada e a saida gerada, e onde mora o poder do dtrace. Na pratica voce consegue com isso identificar modulos de kernel atuando de forma ofuscada no seu sistema, tipico de root kit, consegue identificar se nada no proprio kernel esta interferindo no comportamento de uma aplicacao de userland, como ps(1), netstat(1) ou sshd(1). Consegue saber porque um processo entra em um estado especifico, e demora pra sair dele. Digamos Giant ou UFS, mesmo em programas nao muito modulares (aqueles que um mesmo programa realiza diversas funcoes, e voce nunca sabe que tipo de isntrucao ele esta naquele momento desenvolvendo). Em referencias de seguranca como SANS Security e certificacoes de seguranca, usa-se esse tipo de ferramenta pra analises de Pen Test (testes de penetracao) onde pode-se observar comportamentos falhos de aplicacoes sob determinadas circunstancias. O famoso problema do telnetd do FreeBSD na serie 4 foi descoberto assim, e olha que ainda nem era o dtrace... Talvez seja mais facil visualizar, do que ficar imaginando, proponho o seguinte, ative seu sshd, se ja nao tiver ativado, por exemplo /usr/sbin/sshd -4 Ache o PID dele, e use o ktrace: ktrace -p Exemplo: ktrace -p 492 Quando fizer isso, o trace de cada chamada da aplicacao sera documentada (ou ao menos das chamadas que o ktrace suporta) no arquivo ktrace.out no mesmo diretorio que voce executou, ou onde preferir, se usar a opcao -t (por exemplo -t /tmp/sshd_ktrace.out). Faca uma sessao ssh local (ssh 0). Veja que apareceram dados no seu trace file (trfile, ktrace.out no caso). Para ter uma visualizacao humana dessas informacoes use o kdump (kernel trace dump): Por exemplo: ([EMAIL PROTECTED])~# kdump -f ktrace.out 492 sshd RET select 1 492 sshd CALL accept(0x3,0xbfbfede0,0xbfbfdf58) 492 sshd RET accept 4 492 sshd CALL fcntl(0x4,0x3,0) 492 sshd RET fcntl 6 492 sshd CALL fcntl(0x4,0x4,0x2) 492 sshd RET fcntl 0 492 sshd CALL pipe 492 sshd RET pipe 5 492 sshd CALL socketpair(0x1,0
Re: [FUG-BR] dtrace
Marcus Alves Grando wrote: > Thadeu Penna wrote: > >>On 5/30/06, Marcus Alves Grando <[EMAIL PROTECTED]> wrote: >> >>>Thadeu Penna wrote: >>> On 5/30/06, Marcello Costa <[EMAIL PROTECTED]> wrote: >Dtrace portado para freebsd > >http://www.zdnet.com.au/news/software/soa/DTrace_reaches_prime_time_on_FreeBSD/0,261733,39257452,00.htm > Fantástico, mas alguém já usou o Dtrace ? Eu não vi nada de tão interessante pelo artigo. >>> >>>Gente, não está pronto ainda. Falta um pouco ainda. >>> >>>Para quem quiser saber mais, é só procurar no google por dtrace. Vai >>>funcionar do mesmo jeito. >>> >> >>Ok. Vou ser mais direto: me pareceu mais uma ferramenta "geek" do que >>algo útil. A página do peoplebsd me leva a um livro com 30 capítulos. >>Alguém pode me dar um exemplo útil, além daqueles que estão na página, >>tipo: >> >> 1. How many times does a FreeBSD >>buildworld/buildkernel/installkernel open each file and what are the >>file names? >> 2. What processes fork during a buildworld and how many times? >> 3. Quantize the size of reads during a buildworld. >> 4. Reading fields in the current thread structure. >> >>Não sei que informação útil tirar de nenhum dos quatro exemplos acima :( Esses exemplos sao dos primordios do projeto, documentam apenas forks e referencias cruzadas, bem como chamadas read e write. Isso ja e muito util, especialmente para benchmarks, mas ainda e muito ingenuo dado o poder e objetivos do dtrace. Aguarde que o commiter vai postar novos exemplos. -- Patrick Tracanelli FreeBSD Brasil LTDA. (31) 3281-9633 / 3281-3547 [EMAIL PROTECTED] http://www.freebsdbrasil.com.br "Long live Hanin Elias, Kim Deal!" - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
Ok, não é uma ferramenta para "relatórios gerenciais do sistema", isto é certo. Mas a tarefa de desenvolvimento acaba sendo bem comum dentre diversos admins. Vc pode estar com o sistema rodando ali apenas para executar a sua app no ambiente do cliente, ou mesmo algum problema com algo de terceiros que não quer funcionar no seu ambiente e os logs não ajudam o suficiente. Dentre outras coisas, já tive diversas ocasiões em que o truss (1) me salvou o dia. Acho que o dtrace será muito bem-vindo! :-) Abraços!! Em Ter, 2006-05-30 às 23:59 -0300, Thadeu Penna escreveu: > Está ficando mais claro mas eu acho difícil que um administrador sem > noção de programação consiga retirar alguma informação importante > rapidamente (quantos admins sabem tirar informações do strace ? ;) . > Eu acho que interessa mais a desenvolvedores que admins: para > verificar gargalos no desenvolvimento, o gprof funciona bem pra mim, > mas o dtrace parece útil pois fornece informações em condições de > stress. -- Open IT Soluções Tecnológicas (21) 2203-2510 http://www.openit.com.br http://www.myfreebsd.com.br - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
On 5/30/06, Eduardo B Ribeiro <[EMAIL PROTECTED]> wrote: > Em Ter, 2006-05-30 às 23:20 -0300, Thadeu Penna escreveu: > >1. How many times does a FreeBSD > > buildworld/buildkernel/installkernel open each file and what are the > > file names? > >2. What processes fork during a buildworld and how many times? > >3. Quantize the size of reads during a buildworld. > >4. Reading fields in the current thread structure. > > > > Não sei que informação útil tirar de nenhum dos quatro exemplos > > acima :( > > Olá, > > Imagine que o exemplo refere-se a uma ferramenta muito interna do > sistema (build) e que os dados extraídos ali certamente são de mais > valia para quem está trabalhando com o sistema de rebuild do freebsd > (debugando e/ou tentanto otimizá-lo). > No entanto, se vc abstrair os exemplos, veja que poderá fazer o mesmo > com qquer outra aplicação, tipo: algo que vc esteja desenvolvendo e que > não esteja tendo o desempenho esperado em algum momento crítico de uso > no seu cliente. Algum gargalo que costuma ser sempre difícil > identificar. > Nunca teve um caso daqueles em que o problema só acontece quando o > "administrador não está", ou mesmo em algum determinado tipo de uso da > ferramenta sob determinada condição ou estado do sistema/rede e tal? > Bem, um debug dinâmico iria facilitar bastante, indo certamente além do > que o loglevel de uma determinada aplicação poderá lhe informar, pois > trata de operações e estados subjacentes às operações no nível do OS. A > meu ver, isso facilitaria muuuito o dia-a-dia de qualquer administrador > que tenha alguns dos famosos "clientes chatos", não? > Está ficando mais claro mas eu acho difícil que um administrador sem noção de programação consiga retirar alguma informação importante rapidamente (quantos admins sabem tirar informações do strace ? ;) . Eu acho que interessa mais a desenvolvedores que admins: para verificar gargalos no desenvolvimento, o gprof funciona bem pra mim, mas o dtrace parece útil pois fornece informações em condições de stress. []s -- Thadeu Penna Prof.Adjunto - Instituto de Física Universidade Federal Fluminense - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
Em Ter, 2006-05-30 às 23:20 -0300, Thadeu Penna escreveu: >1. How many times does a FreeBSD > buildworld/buildkernel/installkernel open each file and what are the > file names? >2. What processes fork during a buildworld and how many times? >3. Quantize the size of reads during a buildworld. >4. Reading fields in the current thread structure. > > Não sei que informação útil tirar de nenhum dos quatro exemplos > acima :( Olá, Imagine que o exemplo refere-se a uma ferramenta muito interna do sistema (build) e que os dados extraídos ali certamente são de mais valia para quem está trabalhando com o sistema de rebuild do freebsd (debugando e/ou tentanto otimizá-lo). No entanto, se vc abstrair os exemplos, veja que poderá fazer o mesmo com qquer outra aplicação, tipo: algo que vc esteja desenvolvendo e que não esteja tendo o desempenho esperado em algum momento crítico de uso no seu cliente. Algum gargalo que costuma ser sempre difícil identificar. Nunca teve um caso daqueles em que o problema só acontece quando o "administrador não está", ou mesmo em algum determinado tipo de uso da ferramenta sob determinada condição ou estado do sistema/rede e tal? Bem, um debug dinâmico iria facilitar bastante, indo certamente além do que o loglevel de uma determinada aplicação poderá lhe informar, pois trata de operações e estados subjacentes às operações no nível do OS. A meu ver, isso facilitaria muuuito o dia-a-dia de qualquer administrador que tenha alguns dos famosos "clientes chatos", não? Abraços. -- Open IT Soluções Tecnológicas (21) 2203-2510 http://www.openit.com.br http://www.myfreebsd.com.br - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
Thadeu Penna wrote: > On 5/30/06, Marcus Alves Grando <[EMAIL PROTECTED]> wrote: >> Thadeu Penna wrote: >>> On 5/30/06, Marcello Costa <[EMAIL PROTECTED]> wrote: Dtrace portado para freebsd http://www.zdnet.com.au/news/software/soa/DTrace_reaches_prime_time_on_FreeBSD/0,261733,39257452,00.htm >>> Fantástico, mas alguém já usou o Dtrace ? Eu não vi nada de tão >>> interessante pelo artigo. >>> >> Gente, não está pronto ainda. Falta um pouco ainda. >> >> Para quem quiser saber mais, é só procurar no google por dtrace. Vai >> funcionar do mesmo jeito. >> > > Ok. Vou ser mais direto: me pareceu mais uma ferramenta "geek" do que > algo útil. A página do peoplebsd me leva a um livro com 30 capítulos. > Alguém pode me dar um exemplo útil, além daqueles que estão na página, > tipo: > >1. How many times does a FreeBSD > buildworld/buildkernel/installkernel open each file and what are the > file names? >2. What processes fork during a buildworld and how many times? >3. Quantize the size of reads during a buildworld. >4. Reading fields in the current thread structure. > > Não sei que informação útil tirar de nenhum dos quatro exemplos acima :( > > []s O objetivo principal do dtrace é mensurar programas/libraries. Isso serve para quem está escrevendo eles, usando para obter benchmarks e otimizar a performance. Pra usuário final virão somente os louros. Abraços -- Marcus Alves Grando marcus(at)corp.grupos.com.br | Grupos Internet S/A mnag(at)FreeBSD.org | FreeBSD.org - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
On 5/30/06, Marcus Alves Grando <[EMAIL PROTECTED]> wrote: > Thadeu Penna wrote: > > On 5/30/06, Marcello Costa <[EMAIL PROTECTED]> wrote: > >> Dtrace portado para freebsd > >> > >> http://www.zdnet.com.au/news/software/soa/DTrace_reaches_prime_time_on_FreeBSD/0,261733,39257452,00.htm > >> > > > > Fantástico, mas alguém já usou o Dtrace ? Eu não vi nada de tão > > interessante pelo artigo. > > > > Gente, não está pronto ainda. Falta um pouco ainda. > > Para quem quiser saber mais, é só procurar no google por dtrace. Vai > funcionar do mesmo jeito. > Ok. Vou ser mais direto: me pareceu mais uma ferramenta "geek" do que algo útil. A página do peoplebsd me leva a um livro com 30 capítulos. Alguém pode me dar um exemplo útil, além daqueles que estão na página, tipo: 1. How many times does a FreeBSD buildworld/buildkernel/installkernel open each file and what are the file names? 2. What processes fork during a buildworld and how many times? 3. Quantize the size of reads during a buildworld. 4. Reading fields in the current thread structure. Não sei que informação útil tirar de nenhum dos quatro exemplos acima :( []s -- Thadeu Penna Prof.Adjunto - Instituto de Física Universidade Federal Fluminense - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
Thadeu Penna wrote: > On 5/30/06, Marcello Costa <[EMAIL PROTECTED]> wrote: >> Dtrace portado para freebsd >> >> http://www.zdnet.com.au/news/software/soa/DTrace_reaches_prime_time_on_FreeBSD/0,261733,39257452,00.htm >> > > Fantástico, mas alguém já usou o Dtrace ? Eu não vi nada de tão > interessante pelo artigo. > Gente, não está pronto ainda. Falta um pouco ainda. Para quem quiser saber mais, é só procurar no google por dtrace. Vai funcionar do mesmo jeito. Abraços -- Marcus Alves Grando marcus(at)corp.grupos.com.br | Grupos Internet S/A mnag(at)FreeBSD.org | FreeBSD.org - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
Na realidade não foi totalmente portado ainda existe muita trabalho, na todo list tem as tarefas que precisam ser feitas no link: http://people.freebsd.org/~jb/dtrace/index.html Abraços -- Rafael Floriano Sousa Sales Segurança da Informação Tompast IT Services e-mail: [EMAIL PROTECTED] +55-11-3207-2457 +55-11-8433-2281 - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] dtrace
On 5/30/06, Marcello Costa <[EMAIL PROTECTED]> wrote: > Dtrace portado para freebsd > > http://www.zdnet.com.au/news/software/soa/DTrace_reaches_prime_time_on_FreeBSD/0,261733,39257452,00.htm > Fantástico, mas alguém já usou o Dtrace ? Eu não vi nada de tão interessante pelo artigo. -- Thadeu Penna Prof.Adjunto - Instituto de Física Universidade Federal Fluminense - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd