Guía de seguimiento dinámico de Solaris

Declaración de sondeos

Los sondeos SDT se declaran utilizando las macros DTRACE_PROBE, DTRACE_PROBE1, DTRACE_PROBE2, DTRACE_PROBE3 y DTRACE_PROBE4 de <sys/sdt.h>. El nombre de módulo y el nombre de función de un sondeo basado en SDT corresponde al módulo del núcleo y a la función del sondeo. El nombre del sondeo depende del nombre proporcionado en la macro DTRACE_PROBEn. Si el nombre contiene dos guiones bajos no consecutivos (__), el nombre del sondeo es tal y como aparece escrito en la macro. Si el nombre contiene dos guiones bajos consecutivos, el nombre del sondeo convierte los guiones bajos consecutivos a un único guión (-). Por ejemplo, si una macro DTRACE_PROBE especifica transaction__start, el nombre del sondeo SDT será transaction-start. Esta sustitución permite al código C proporcionar nombres de macro que no son identificadores C válidos sin necesidad de especificar una cadena.

DTrace incluye el nombre del módulo del núcleo y el nombre de función como parte de la tupla que identifica un sondeo, por lo que no es necesario que incluya esta información en el nombre del sondeo para evitar la colisión de espacio de nombre. Es posible utilizar el comando dtrace -l -P sdt -m module en su controlador module para visualizar una lista de los sondeos que ha instalado y los nombres completos que verán los usuarios de DTrace.