Guia de rastreamento dinâmico Solaris

Níveis de estabilidade

O DTrace fornece dois tipos de atributos de estabilidade para entidades como variáveis incorporadas, funções e testes: um nível de estabilidade e uma classe de dependência de arquitetura. O nível de estabilidade do DTrace auxilia-o na avaliação de riscos ao desenvolver scripts e ferramentas com base no DTrace, indicando a probabilidade de uma interface ou entidade do DTrace ser alterada em uma futura versão ou patch. A classe de dependência do DTrace informa se uma interface é comum a todas as plataformas e processadores do Solaris ou se a interface é associada a uma arquitetura em particular como somente os processadores SPARC. Os dois tipos de atributos usados para descrever interfaces podem variar independentemente.

Os valores de estabilidade usados pelo DTrace aparecem na seguinte lista da menor para a maior estabilidade. As interfaces mais estáveis podem ser usadas por todos os programas em D e aplicativos em camadas porque a Sun fará o possível para garantir que eles continuem a funcionar em versões secundárias futuras. Os aplicativos que dependem somente de interfaces estáveis devem continuar funcionando corretamente em versões secundárias futuras e não serão interrompidos por patches interinos. As interfaces menos estáveis permitem a experimentação, criação de protótipos, ajuste e depuração no sistema atual, mas devem ser usadas sabendo-se que elas podem se tornar incompatíveis ou até mesmo ser eliminadas ou substituídas por alternativas em versões secundárias futuras.

Os valores de estabilidade do DTrace também auxiliam na compreensão da estabilidade das entidades de software que estão sendo observadas, além da estabilidade das próprias interfaces do DTrace. Portanto, os valores de estabilidade do DTrace também informam a probabilidade dos programas em D e ferramentas em camadas precisarem de alterações correspondentes quando você atualizar ou alterar a pilha de software que está sendo observada.

Interna

A interface é privada do DTrace e representa um detalhe de implementação do DTrace. As interfaces internas podem ser alteradas em micro versões ou versões secundárias.

Privada

A interface é privada da Sun e representa uma interface desenvolvida para uso por outros produtos da Sun que ainda não foram publicamente documentados para uso por clientes e fornecedores independentes de software. As interfaces privadas podem ser alteradas em micro versões ou versões secundárias.

Obsoleta

Há suporte para a interface na versão atual, mas ela está agendada para ser removida, mais provavelmente em uma versão secundária futura. Quando o suporte a uma interface estiver para ser interrompido, a Sun tentará fornecer uma notificação antes de interromper o suporte à interface. O compilador de D produzirá mensagens de aviso se você tentar usar uma interface obsoleta.

Externa

A Sun pode fornecer, por decisão própria, versões atualizadas e possivelmente incompatíveis de tais interfaces como parte de qualquer versão, de acordo com a disponibilidade da entidade controladora. A Sun não garante compatibilidade binária ou de fonte para interfaces internas entre duas versões. Os aplicativos baseados nessas interfaces podem não funcionar em versões futuras, incluindo patches que contenham interfaces externas.

Instável

A interface é fornecida para possibilitar aos desenvolvedores um acesso imediato a tecnologias novas ou em constante alteração ou a um artefato de implementação que seja essencial para a observação ou depuração do comportamento do sistema para o qual uma solução mais estável seja prevista no futuro. A Sun não garante compatibilidade binária ou de fonte para interfaces instáveis de uma versão secundária para outra.

Desenvolvendo

A interface pode eventualmente se tornar padrão ou estável, mas ainda está em transição. A Sun se esforçará para garantir a compatibilidade com versões anteriores à medida que ela se desenvolver. Quando alterações de compatibilidade não-ascendente forem necessárias, elas ocorrerão em versões secundárias e principais. Essas alterações serão evitadas nas micro versões sempre que possível. Se tal alteração for necessária, ela será documentada nas notas de versão da versão afetada e, quando viável, a Sun fornecerá auxílio de migração para compatibilidade binária e contínuo desenvolvimento do programa em D.

Estável

A interface é uma interface desenvolvida sob controle da Sun. A Sun tentará evitar alterações de compatibilidade não-ascendente nessas interfaces, especialmente em micro versões ou versões secundárias. Se o suporte à interface estável tiver que ser interrompido, a Sun tentará fornecer notificação e o nível de estabilidade será alterado para obsoleta.

Padrão

A interface está em conformidade com um padrão de mercado. A documentação correspondente da interface irá descrever o padrão com o qual a interface está em conformidade. Os padrões geralmente são controlados por uma organização de desenvolvimento de padrões e alterações podem ser feitas na interface de acordo com as alterações aprovadas no padrão. O nível de estabilidade também pode ser aplicado em interfaces que tenham sido adotadas sem um padrão formal por uma convenção de mercado. O suporte é fornecido somente para as versões especificadas de um padrão; o suporte para versões posteriores não é garantido. Se a organização de desenvolvimento de padrões aprovar uma alteração de compatibilidade não-ascendente em uma interface padrão para a qual a Sun decida fornecer suporte, a Sun anunciará a estratégia de compatibilidade e migração.