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.
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 | ||
aggsize |
size |
Tamanho do buffer de agregação | ||
bufresize |
auto ou manual |
Política de redimensionamento do buffer | ||
bufsize |
size |
-b |
Tamanho do buffer principal | |
cleanrate |
time |
Taxa de limpeza. Deve ser especificado em número por segundo com o sufixo hz. | ||
cpu |
escalar |
-c |
CPU na qual ativar o rastreio | |
defaultargs |
— |
Permite referências a argumentos de macro não especificados | ||
destructive |
— |
-w |
Permite ações destrutivas | |
dynvarsize |
size |
Tamanho de espaço de variável dinâmica | ||
flowindent |
— |
-F |
Recua a entrada da função e prefixa com ->; cancela o recuo do retorno da função e prefixa com <- | |
grabanon |
— |
-a |
Declara o estado anônimo | |
jstackframes |
escalar |
Número de quadros de pilha padrão jstack() | ||
jstackstrsize |
escalar |
Tamanho de espaço de seqüência padrão de jstack() | ||
nspec |
escalar |
Número de especulações | ||
quiet |
— |
-q |
Saída apenas de dados rastreados explicitamente | |
specsize |
size |
|
Tamanho do buffer de especulação | |
strsize |
size |
Tamanho da seqüência | ||
stackframes |
escalar |
Número de quadros de pilha | ||
stackindent |
escalar |
Número de caracteres de espaço em branco a serem usados ao recuar a saída de stack() e ustack() | ||
statusrate |
time |
Taxa de verificação de status |
|
|
switchrate |
time |
Taxa de alternância de buffer | ||
ustackframes |
escalar |
Número de quadros de pilha do usuário |
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.
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.