Re: [FUG-BR] dtrace

2006-05-31 Por tôpico Ricardo A. Reis
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

2006-05-31 Por tôpico Thadeu Penna
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

2006-05-31 Por tôpico Patrick Tracanelli
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

2006-05-31 Por tôpico Patrick Tracanelli
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

2006-05-30 Por tôpico Eduardo B Ribeiro
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

2006-05-30 Por tôpico Thadeu Penna
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

2006-05-30 Por tôpico Eduardo B Ribeiro
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

2006-05-30 Por tôpico Marcus Alves Grando
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

2006-05-30 Por tôpico Thadeu Penna
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

2006-05-30 Por tôpico Marcus Alves Grando
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

2006-05-30 Por tôpico Rafael Floriano Sousa Sales
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

2006-05-30 Por tôpico Thadeu Penna
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