Como instalo o DTrace?

20

A pesquisa no Google sugere que o DTrace está disponível no Linux, mas não consigo encontrar instruções sobre como instalá-lo.

O DTrace é uma estrutura abrangente de rastreamento dinâmico. Ele foi desenvolvido para fornecer informações operacionais que permitem aos usuários ajustar e solucionar problemas de aplicativos e do próprio sistema operacional. Considerações especiais foram tomadas para tornar seguro o uso em um ambiente de produção. Por exemplo, há um efeito mínimo do probe quando o rastreamento está em andamento e nenhum impacto no desempenho associado a nenhum probe desativado; isso é importante, pois existem dezenas de milhares de probes do DTrace que podem ser ativados.

na hora certa
fonte

Respostas:

15

Use git ou faça o download de várias versões do dtrace aqui . Encontrei estas instruções de instalação :

git clone "https://github.com/dtrace4linux/linux.git" dtrace
cd dtrace
tools/get-deps.pl
make all 
make install
sudo make load

Sidenote: Um comentário sobre o brainstorm afirma que você pode fazer o mesmo com estes 3:

Rinzwind
fonte
pergunta interessante - este link diz que o dtrace não está disponível para o "debian" (também conhecido como ubuntu?) - é mais atualizado que a instrução vinculada. webcache.googleusercontent.com/...
fossfreedom
Veja o último comentário no brainstorm aqui: brainstorm.ubuntu.com/idea/4971 Sem deb, mas é utilizável no Ubuntu.
Rinzwind 11/09/11
ok - espero que o OP teste isso - +1 de mim.
fossfreedom
Também encontrou esta uma brainstorm.ubuntu.com/idea/11463 ptrace, utrace e systemtap editada em como uma alternativa (não experimentar estes também aliás;))
Rinzwind
. build / config.sh; \ mkdir -p "" / usr / lib / dtrace / $ CPU_BITS; \ rm -f "" /usr/lib/dtrace/types.d; \ mkdir -p "" / usr / sbin /; \ install -m 4755 -o root build / dtrace "" / usr / sbin / dtrace; \ install -m 644 -o root build / drti.o "" /usr/lib/dtrace/$CPU_BITS/drti.o mkdir: não é possível criar o diretório '/ usr / lib / dtrace': Instalação negada pela permissão: não é possível criar o arquivo regular '/ usr / sbin / dtrace': Instalação com permissão negada: não é possível criar o arquivo regular '/usr/lib/dtrace/64/drti.o': Não existe esse arquivo de arquivo ou diretório: makefile: 110: a receita para o destino 'install' falhou: *** [install] Erro 1
gtzinos
14

1 1

Encontrei o pacote sytemtap-sdt-dev. De um tipo de terminal:

sudo apt-get install systemtap-sdt-dev

Este pacote fornece dtrace.

Observe que, embora tenha esse nome dtracepor um motivo, não é exatamente o mesmo que o original Solaris. Você provavelmente pode fazer algumas coisas, mas não todas.

2

Se você não se importa em compilar, uma versão mais completa do recurso dtraceé a porta de Paul Fox:
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

É muito fácil de construir, consulte o README.

3

Há também uma Oracleporta. Mas eu não testei e não recomendo . Aparentemente, ele possui apenas 0,1% das sondas da porta Paul Fox.

$ dtrace -l | wc -l
394267

Que é irônico, porque Oraclecompra Sun, os autores originais dtraceparaSolaris .

4

Observe que o Linux-dtrace não possui algumas funcionalidades do espaço do usuário que o Solaris-dtrace (original) fornece. Portanto, certos usos do dtrace, como criar um perfil do Node.js, serão complicados, se não impossíveis, usando clone, fork ou imitação do dtrace.

Redsandro
fonte
5
De fato, a versão em "systemtap-SDT-dev" não suporta a opção "-n"
Erel Segal-Halevi