Para permitir la personalización, DTrace ofrece a los consumidores diferentes e importantes niveles de libertad. Para reducir al mínimo la posibilidad de necesitar una configuración específica, DTrace se implementa empleando valores predeterminados razonables y directivas predeterminadas flexibles. Sin embargo, podrían darse casos en los que fuera necesario el ajuste de la conducta de DTrace para cada consumidor. Este capítulo describe las opciones y optimizables de DTrace, así como las interfaces que pueden utilizarse para modificarlas.
DTrace se ajusta mediante la configuración o activación de opciones. En la tabla siguiente se describen las opciones disponibles. Para algunas opciones, dtrace(1M) proporciona la opción de línea de comandos correspondiente.
Tabla 16–1 Opciones de consumidor de DTrace
Nombre de la opción |
Valor |
Alias dtrace(1M) |
Descripción |
Consulte el capítulo |
---|---|---|---|---|
aggrate |
time |
Velocidad de lectura de adición | ||
aggsize |
size |
Tamaño de la memoria intermedia de adición | ||
bufresize |
auto o manual |
Directiva de cambio de tamaño de la memoria intermedia |
Capítulo 11Memorias intermedias y almacenamiento en memoria intermedia |
|
bufsize |
size |
-b |
Tamaño de la memoria intermedia principal |
Capítulo 11Memorias intermedias y almacenamiento en memoria intermedia |
cleanrate |
time |
Velocidad de limpieza. Debe especificarse un número por segundo con el sufijo hz. | ||
cpu |
scalar |
-c |
CPU en la que desea habilitar el seguimiento |
Capítulo 11Memorias intermedias y almacenamiento en memoria intermedia |
defaultargs |
— |
Permitir referencias a argumentos de macro no especificados | ||
destructive |
— |
-w |
Permitir acciones destructivas | |
dynvarsize |
size |
Tamaño de espacio variable dinámico | ||
flowindent |
— |
-F |
Entrada de función de sangría y prefijo con ->; devolución de función de no sangría y prefijo con <- | |
grabanon |
— |
-a |
Declara el estado anónimo | |
jstackframes |
scalar |
Número de estructuras de pila predeterminadas jstack() | ||
jstackstrsize |
scalar |
Tamaño de espacio de cadena predeterminado para jstack() | ||
nspec |
scalar |
Número de especulaciones | ||
quiet |
— |
-q |
Emite como salida sólo los datos de los que se ha realizado un seguimiento de forma explícita | |
specsize |
size |
|
Tamaño de la memoria intermedia de especulación | |
strsize |
size |
Tamaño de cadena | ||
stackframes |
scalar |
Número de estructuras de pila | ||
stackindent |
scalar |
Número de caracteres de espacios en blanco a utilizar al realizar la sangría de la salida de stack() y ustack() | ||
statusrate |
time |
Velocidad de comprobación de estado |
|
|
switchrate |
time |
Velocidad de conmutación de memoria intermedia |
Capítulo 11Memorias intermedias y almacenamiento en memoria intermedia |
|
ustackframes |
scalar |
Número de estructuras de pila de usuario |
A los valores que indiquen tamaños se les puede asignar un sufijo opcional de k, m, g o t para indicar kilobytes, megabytes, gigabytes y terabytes respectivamente. A los valores que indiquen tiempo se les puede asignar un sufijo opcional de ns, us, ms, s o hz para indicar nanosegundos, microsegundos, milisegundos, segundos y número por segundo, respectivamente.
Es posible definir las opciones en una secuencia de comandos D utilizando #pragma D seguido de la cadena option y el nombre de la opción. Si la opción toma un valor, el nombre de la opción debe venir seguido de un signo igual (=) y del valor de la opción. Los siguientes ejemplos son todos ajustes de opción válidos:
#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
El comando dtrace(1M) también acepta la configuración de opciones en la línea de comandos como argumento de la opción -x. Por ejemplo:
# dtrace -x nspec=4 -x grabanon -x bufsize=2g \ -x switchrate=10hz -x aggrate=100us -x bufresize=manual |
Si se especifica una opción no válida, dtrace indica que el nombre de la opción no es válido y se cierra:
# dtrace -x wombats=25 dtrace: failed to set option -x wombats: Invalid option name # |
De forma similar, si un valor de opción no es válido para la opción proporcionada, dtrace indicará que el valor no es válido:
# dtrace -x bufsize=100wombats dtrace: failed to set option -x bufsize: Invalid value for specified option # |
Si se define una opción en más de una ocasión, los posteriores ajustes sobrescribirán los ajustes previos. Algunas opciones, como grabanon, podríansólo definirse. La presencia de dicha opción la define, y no podrá anular su definición posteriormente.
El consumidor de DTrace que declara el estado anónimo aceptará las opciones que estén definidas para la habilitación anónima. Consulte el Capítulo 36Seguimiento anónimo para obtener información sobre cómo activar el seguimiento anónimo.