Guia de rastreamento dinâmico Solaris

Escolhendo os pontos de teste

O DTrace permite que os desenvolvedores incorporem pontos de teste estáticos no código do aplicativo, incluindo aplicativos completos e bibliotecas compartilhadas. Esses testes podem ser ativados sempre que o aplicativo ou a biblioteca está sendo executado, seja no desenvolvimento ou na produção. Você deve definir testes que possuem um significado semântico que já seja conhecido pela comunidade de usuários do DTrace. Por exemplo, você poderia definir os testes query-receive e query-respond em um servidor da Web que corresponda a um cliente que envia uma solicitação e o servidor da Web que responde a essa solicitação. Esses testes de exemplo são facilmente entendidos pela maioria dos usuários do DTrace e correspondem às abstrações de mais alto nível do aplicativo, em vez dos detalhes de implementação de mais baixo nível. Os usuários do DTrace usam esses testes para entender a distribuição de tempo das solicitações. Se o seu teste query-receive apresentou as seqüências de solicitação de URL como um argumento, um usuário do DTrace poderia determinar quais solicitações estavam gerando a maior parte da E/S de disco, combinando esse teste com o provedor io .

Você também deve considerar a estabilidade das abstrações que descreve ao escolher os nomes e os locais de teste. Esse teste persistirá nas versões futuras do aplicativo, mesmo se a implementação for alterada? O teste faz sentido em todas as arquiteturas de sistema ou é específico de um conjunto de instruções em particular? Este capítulo discutirá os detalhes de como estas decisões orientam as definições de rastreio estático.