The following table provides a complete list of D built-in variables. All of these variables are scalar global variables; no thread-local or clause-local variables or built-in associative arrays are currently defined by D.
Table 3.1. DTrace Built-in Variables
Type and Name |
Description |
---|---|
|
The first ten input arguments to a probe represented as raw 64-bit integers. If fewer than ten arguments are passed to the current probe, the remaining variables return zero. |
|
The typed arguments to the current probe, if any. The |
|
The program counter location of the current thread just before entering the current probe. |
|
The CPU chip identifier for the current physical chip. See Chapter 26, |
|
The CPU identifier for the current CPU. See Chapter 26, |
|
The CPU information for the current CPU. See Chapter 26, |
|
The lightweight process (LWP) state of the LWP associated with the current thread. This structure is described in further detail in the proc ( 4 ) man page. |
|
The process state of the process associated with the current thread. This structure is described in further detail in the proc ( 4 ) man page. |
|
The address of the operating system kernel's internal data structure for the current thread, the |
|
The name of the current working directory of the process associated with the current thread. |
|
The enabled probe ID (EPID) for the current probe. This integer uniquely identifiers a particular probe that is enabled with a specific predicate and set of actions. |
|
The error value returned by the last system call executed by this thread. |
|
The name that was passed to exec ( 2 ) to execute the current process. |
|
The real group ID of the current process. |
|
The probe ID for the current probe. This ID is the system-wide unique identifier for the probe as published by DTrace and listed in the output of dtrace |
|
The interrupt priority level (IPL) on the current CPU at probe firing time. Refer to Solaris Internals for more information on interrupt levels and interrupt handling in the Solaris operating system kernel. |
|
The latency group ID for the latency group of which the current CPU is a member. See Chapter 26, |
|
The process ID of the current process. |
|
The parent process ID of the current process. |
|
The function name portion of the current probe's description. |
|
The module name portion of the current probe's description. |
|
The name portion of the current probe's description. |
|
The provider name portion of the current probe's description. |
|
The processor set ID for the processor set containing the current CPU. See Chapter 26, |
|
The name of the root directory of the process associated with the current thread. |
|
The current thread's stack frame depth at probe firing time. |
|
The thread ID of the current thread. For threads associated with user processes, this value is equal to the result of a call to pthread_self ( 3C ) . |
|
The current value of a nanosecond timestamp counter. This counter increments from an arbitrary point in the past and should only be used for relative computations. |
|
The real user ID of the current process. |
|
The current thread's saved user-mode register values at probe firing time. Use of the |
|
The current value of a nanosecond timestamp counter that is virtualized to the amount of time that the current thread has been running on a CPU, minus the time spent in DTrace predicates and actions. This counter increments from an arbitrary point in the past and should only be used for relative time computations. |
|
The current number of nanoseconds since 00:00 Universal Coordinated Time, January 1, 1970. |
Functions built into the D language such as trace
are discussed in Chapter 10, Actions and Subroutines.