Guia de rastreamento dinâmico Solaris

Capítulo 16 Opções e ajustáveis

Para permitir a personalização, o DTrace dá aos seus consumidores vários graus de liberdade importantes. Para minimizar a probabilidade de precisar de ajuste específico, o DTrace é implementado com valores padrão razoáveis e políticas padrão flexíveis. Entretanto, pode haver situações em que seja necessário ajustar o comportamento do DTrace numa base consumidor a consumidor. Este capítulo descreve as opções e os ajustáveis do DTrace, e as interfaces que você pode usar para modificá-los.

Opções do consumidor

O DTrace é ajustado para definir e ativar as opções. As opções disponíveis são descritas na tabela abaixo. Para obter algumas opções, dtrace(1M) fornece uma opção de linha de comando correspondente.

Tabela 16–1 Opções do consumidor do DTrace

Nome da opção 

Valor 

Alias do dtrace(1M)

Descrição 

Consulte o capítulo 

aggrate

time

 

Taxa de leitura de agregação 

Capítulo 9Agregações

aggsize

size

 

Tamanho do buffer de agregação 

Capítulo 9Agregações

bufresize

auto ou manual

 

Política de redimensionamento do buffer 

Capítulo 11Buffers e armazenamento em buffer

bufsize

size

-b

Tamanho do buffer principal 

Capítulo 11Buffers e armazenamento em buffer

cleanrate

time

 

Taxa de limpeza. Deve ser especificado em número por segundo com o sufixo hz.

Capítulo 13Rastreio especulativo

cpu

escalar

-c

CPU na qual ativar o rastreio 

Capítulo 11Buffers e armazenamento em buffer

defaultargs

— 

 

Permite referências a argumentos de macro não especificados 

Capítulo 15Script

destructive

— 

-w

Permite ações destrutivas 

Capítulo 10Ações e sub-rotinas

dynvarsize

size

 

Tamanho de espaço de variável dinâmica 

Capítulo 3Variáveis

flowindent

— 

-F

Recua a entrada da função e prefixa com ->; cancela o recuo do retorno da função e prefixa com <-

Capítulo 14Utilitário dtrace(1M)

grabanon

— 

-a

Declara o estado anônimo 

Capítulo 36Rastreio anônimo

jstackframes

escalar

 

Número de quadros de pilha padrão jstack()

Capítulo 10Ações e sub-rotinas

jstackstrsize

escalar

 

Tamanho de espaço de seqüência padrão de jstack()

Capítulo 10Ações e sub-rotinas

nspec

escalar

 

Número de especulações 

Capítulo 13Rastreio especulativo

quiet

— 

-q

Saída apenas de dados rastreados explicitamente 

Capítulo 14Utilitário dtrace(1M)

specsize

size

 

Tamanho do buffer de especulação 

Capítulo 13Rastreio especulativo

strsize

size

 

Tamanho da seqüência 

Capítulo 6Seqüências

stackframes

escalar

 

Número de quadros de pilha 

Capítulo 10Ações e sub-rotinas

stackindent

escalar

 

Número de caracteres de espaço em branco a serem usados ao recuar a saída de stack() e ustack()

Capítulo 10Ações e sub-rotinas

statusrate

time

 

Taxa de verificação de status 

 

switchrate

time

 

Taxa de alternância de buffer 

Capítulo 11Buffers e armazenamento em buffer

ustackframes

escalar

 

Número de quadros de pilha do usuário 

Capítulo 10Ações e sub-rotinas

Valores que indicam tamanhos podem receber um sufixo opcional k, m, g ou t para indicar kilobytes, megabytes, gigabytes e terabytes, respectivamente. Valores que indicam horas podem receber um sufixo adicional ns, us, ms, s ou hz para indicar nanossegundos, microssegundos, milissegundos, segundos e número por segundo, respectivamente.

Modificando opções

As opções podem ser definidas em um script de D com #pragma D seguido pela opção de seqüência e o nome da opção. Se a opção tiver um valor, o nome dela deve ser seguido por um sinal de igual (=) e o valor da opção. Os exemplos seguintes são configurações de opção válidas:

#pragma D option nspec=4
#pragma D option grabanon
#pragma D option bufsize=2g
#pragma D option switchrate=10hz
#pragma D option aggrate=100us
#pragma D option bufresize=manual

O comando dtrace(1M) também aceita configurações de opção na linha de comando, como um argumento para a opção -x. Por exemplo:


# dtrace -x nspec=4 -x grabanon -x bufsize=2g \
    -x switchrate=10hz -x aggrate=100us -x bufresize=manual

Se uma opção inválida for especificada, o dtrace indica que o nome da opção é inválido e existe:


# dtrace -x wombats=25
dtrace: failed to set option -x wombats: Invalid option name
#

Semelhantemente, se um valor de opção não for válido para a opção fornecida, o dtrace indicará que o valor é inválido:


# dtrace -x bufsize=100wombats
dtrace: failed to set option -x bufsize: Invalid value for specified option
#

Se uma opção for definida mais de uma vez, as configurações subseqüentes sobrescrevem as configurações anteriores. Algumas opções, tais como grabanon, podem ser somente definidas. A presença de tal opção a define, e você não pode cancelar a sua definição mais tarde.

As opções que são definidas para uma ativação anônima serão honradas pelo consumidor do DTrace que declara o estado anônimo. Consulte o Capítulo 36Rastreio anônimo para obter informações sobre a ativação do rastreio anônimo.