Guia de rastreamento dinâmico Solaris

Tipos e símbolos externos

A instrumentação do DTrace é executada dentro do kernel do sistema operacional Solaris, assim, além de acessar argumentos de teste e variáveis especiais do DTrace, você também pode acessar estruturas de dados do kernel, símbolos e tipos. Esses recursos permitem que usuários avançados do DTrace, administradores, pessoal de serviço e desenvolvedores de drivers examinem o comportamento de baixo nível do kernel do sistema operacional e drivers de dispositivo. A lista de leitura no início deste livro inclui livros que podem ajudá-lo a aprender mais sobre as partes internas do sistema operacional Solaris.

D usa aspa invertida (`) como um operador de escopo especial para acessar símbolos definidos no sistema operacional e não no programa em D. Por exemplo, o kernel do Solaris contém uma declaração C de um sistema ajustável chamado kmem_flags para ativar os recursos de depuração do alocador de memória. Consulte o Solaris Tunable Parameters Reference Manual para obter informações sobre kmem_flags. Esse ajuste é declarado em C no código-fonte do kernel da seguinte maneira:

int kmem_flags;

Para rastrear o valor desta variável em um programa em D, você pode escrever a instrução de D:

trace(`kmem_flags);

DTrace associa cada símbolo do kernel ao tipo usado para ele no código correspondente de C no sistema operacional, fornecendo fácil acesso baseado em fonte às estruturas de dados do sistema operacional nativo. Os nomes de símbolos do kernel são mantidos em um espaço de nome separado de identificadores de função e variáveis de D, assim, você não precisa se preocupar com o conflito entre esses nomes e o das variáveis de D.

Você agora completou um rápido tour do DTrace e aprendeu muitos dos blocos de construção básicos do DTrace necessários para a construção de programas em D maiores e mais complexos. Os capítulos a seguir descrevem o conjunto completo de regras de D e demonstram como o DTrace pode estabelecer medidas complexas de desempenho e análise funcional do sistema facilmente. Posteriormente, você verá como usar o DTrace para conectar o comportamento do aplicativo do usuário ao comportamento do sistema, dando a você a capacidade de analisar toda a pilha do software.

Você está apenas começando!