O DTrace, também conhecido como Dynamic Tracing, foi desenvolvido pela Sun™ como uma ferramenta para localizar gargalos de desempenho em sistemas de produção e pré-produção. Além de diagnosticar problemas de desempenho, o DTrace pode ser usado para ajudar a investigar e depurar comportamentos inesperados no kernel do FreeBSD e em programas da userland.
O DTrace é uma ferramenta de criação de perfil notável, com uma impressionante variedade de recursos para diagnosticar problemas do sistema. Ele também pode ser usado para executar scripts pré-escritos para aproveitar seus recursos. Os usuários podem criar seus próprios utilitários usando a DTrace D Language, permitindo que eles personalizem seus perfis com base em necessidades específicas.
A implementação do FreeBSD fornece suporte completo para o DTrace do kernel e suporte experimental para o DTrace da userland. O Userland DTrace permite que os usuários executem o rastreio de limite de função para programas de área de trabalho usando o provedor pid
e insiram investigações estáticas em programas da userland para rastreamento posterior. Alguns ports, como databases/postgres-server e lang/php56, possuem uma opção do DTrace para ativar testes estáticos. O FreeBSD 10.0-RELEASE tem suporte razoavelmente bom ao DTrace, mas não é considerado pronto para produção. Em particular, é possível travar programas rastreados.
O guia oficial do DTrace é mantido pelo projeto Illumos no Guia do DTrace
.
Depois de ler este capítulo, você saberá:
O que é o DTrace e quais recursos ele fornece.
Diferenças entre a implementação do DTrace Solaris™ e a fornecida pelo FreeBSD.
Como ativar e usar o DTrace no FreeBSD.
Antes de ler este capítulo, você deve:
Entender os fundamentos do UNIX® e do FreeBSD (Capítulo 3, Fundamentos do FreeBSD).
Ter alguma familiaridade com segurança e como ela está presente no FreeBSD (Capítulo 13, Segurança).
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.