Guia de rastreamento dinâmico Solaris

Atributos de interface

O DTrace descreve as interfaces usando um trio de atributos que consiste em dois níveis de estabilidade e uma classe de dependência. Por convenção, os atributos de interface são escritos na seguinte ordem, separados por barras:

estabilidade de nome / estabilidade de dados / classe de dependência

A estabilidade de nome de uma interface descreve o nível de estabilidade associado ao seu nome conforme aparece no programa em D ou na linha de comando do dtrace(1M). Por exemplo, a variável de D execname é um nome estável: A Sun garante que esse identificador continuará com suporte nos programas em D de acordo com as regras descritas para as interfaces estáveis acima.

A estabilidade de dados de uma interface é diferente da estabilidade associada ao nome da interface. Esse nível de estabilidade descreve o comprometimento da Sun com a manutenção dos formatos de dados usados pela interface e quaisquer semânticas de dados associadas. Por exemplo, a variável de D pid é uma interface estável: as IDs de processo são um conceito estável no Solaris, e a Sun garante que a variável pid será do tipo pid_t com a semântica que está definida como o ID de processo correspondente ao segmento que acionou um determinado teste de acordo com as regras para interfaces estáveis.

A classe de dependência de uma interface é diferente da estabilidade de nome e dados e descreve se a interface é especifica da plataforma operacional atual ou do microprocessador.

O DTrace e o compilador de D controlam os atributos de estabilidade de todas as entidades de interface do DTrace, incluindo provedores, descrições de teste, variáveis de D, funções de D, tipos e as próprias instruções de programa, como veremos em breve. Observe que todos os três valores podem variar independentemente. Por exemplo, a variável de D curthread possui os atributos Estável/Privada/Comum: o nome da variável é estável e comum a todas as plataformas operacionais Solaris, mas essa variável fornece acesso a um formato de dados privado que é um artefato da implementação no kernel do Solaris. A maioria das variáveis de D são fornecidas com os atributos Estável/Estável/Comum, assim como as variáveis que você definir.