A tabela seguinte fornece uma lista de variáveis internas de D. Todas essas variáveis são variáveis globais escalares; nenhuma variável de segmento local, ou variável de cláusula local ou matrizes de associação internas, estão definidas no momento por D.
Tabela 3–1 Variáveis internas do DTrace
Tipo e nome |
Descrição |
---|---|
int64_t arg0, ..., arg9 |
Os dez primeiros argumentos de entrada para um teste representado como inteiros brutos de 64 bits. Se menos de dez argumentos forem passados para o teste atual, as variáveis restantes retornarão zero. |
args[] |
Os argumentos digitados para o teste atual, se houver. A matriz args[] é acessada por meio de um índice de inteiro, mas cada elemento é definido como o tipo correspondente ao argumento do teste determinado. Por exemplo, se args[] for referenciado por um teste de chamada do sistema read(2), args[0] é do tipo int, args[1] é do tipo void * e args[2] é do tipo size_t. |
uintptr_t caller |
O local do contador do programa do segmento atual um pouco antes de entrar no teste atual. |
chipid_t chip |
O identificador de chipe da CPU do chipe físico atual. Para obter mais informações, consulte o Capítulo 26Provedor sched. |
processorid_t cpu |
O identificador de CPU da CPU atual. Para obter mais informações, consulte o Capítulo 26Provedor sched. |
cpuinfo_t *curcpu |
As informações de CPU da CPU atual. Para obter mais informações, consulte o Capítulo 26Provedor sched. |
lwpsinfo_t *curlwpsinfo |
O estado de processo leve (LWP) do LWP associado ao segmento atual. Esta estrutura é descrita mais detalhadamente na página do manual proc(4). |
psinfo_t *curpsinfo |
O estado de processo do processo associado ao segmento atual. Esta estrutura é descrita mais detalhadamente na página do manual proc(4). |
kthread_t *curthread |
O endereço da estrutura de dados interna do kernel do sistema operacional do segmento atual, kthread_t. kthread_t é definido em <sys/thread.h>. Consulte Solaris Internals para obter mais informações sobre esta variável e outras estruturas de dados do sistema operacional. |
string cwd |
O nome do diretório de trabalho atual do processo associado ao segmento atual. |
uint_t epid |
O ID de teste ativado (EPID) do teste atual. Este inteiro identifica exclusivamente um teste em particular com um predicado específico e um conjunto de ações. |
int errno |
O valor de erro retornado pela última chamada do sistema executada por este segmento. |
string execname |
O nome que foi passado a exec(2) para que execute o processo atual. |
gid_t gid |
O ID de grupo real do processo atual. |
uint_t id |
O ID de teste do teste atual. Este ID é o identificador de teste exclusivo do sistema conforme publicado por DTrace e listado na saída de dtrace -l. |
uint_t ipl |
O nível de prioridade de saída (IPL) da CPU atual na hora do acionamento do teste. Consulte Solaris Internals para obter mais informações sobre os níveis de interrupção e manipulação de interrupção no kernel do sistema operacional. |
lgrp_id_t lgrp |
O ID de grupo de latência do grupo de latência do qual a CPU é um membro. Para obter mais informações, consulte o Capítulo 26Provedor sched. |
pid_t pid |
O ID de processo do processo atual. |
pid_t ppid |
O ID de processo pai do processo atual. |
string probefunc |
A parte do nome de função da descrição do teste atual. |
string probemod |
A parte do nome de módulo da descrição do teste atual. |
string probename |
A parte do nome da descrição do teste atual. |
string probeprov |
A parte do nome do provedor da descrição do teste atual. |
psetid_t pset |
O ID de conjunto de processadores do conjunto de processadores que contém a CPU atual. Para obter mais informações, consulte o Capítulo 26Provedor sched. |
string root |
O nome do diretório raiz do processo associado ao segmento atual. |
uint_t stackdepth |
A profundidade da moldura da porta na hora de acionamento do teste. |
id_t tid |
O ID de segmento do segmento atual. Para segmentos associados aos processos do usuário, este valor é igual ao resultado de uma chamada ao pthread_self(3C). |
uint64_t timestamp |
O valor atual de um contador de carimbo de data e hora em nanossegundos. Este contador é incrementado a partir de um ponto arbitrário no passado e deve ser usado somente para cálculos relativos. |
uid_t uid |
O ID de usuário real do processo atual. |
uint64_t uregs[] |
O segmento atual salvou os valores de registro de modo do usuário na hora de acionamento do teste. O uso da matriz uregs[] é discutido no Capítulo 33Rastreio de processo do usuário. |
uint64_t vtimestamp |
O valor atual de um contador de carimbo de data e hora em nanossegundos que é virtualizado no total de tempo que o segmento atual está sendo executado em uma CPU, menos o tempo gasto nos predicados e ações do DTrace. Este contador é incrementado a partir de um ponto arbitrário no passado e deve ser usado somente para cálculos relativos de tempo. |
uint64_t walltimestamp |
O número atual de nanossegundos desde 00:00 (Horário Coordenado Universal), 1 de janeiro de 1970. |
As funções internas da linguagem D, tal como trace(), são discutidas no Capítulo 10Ações e sub-rotinas.