Table of Contents
- Preface
- 1 About DTrace
- 2 The D Programming Language
- 2.1 D Program Structure
- 2.2 Compilation and Instrumentation
- 2.3 Variables and Arithmetic Expressions
- 2.4 Predicates
- 2.5 Output Formatting
- 2.6 Arrays
- 2.7 External Symbols and Types
- 2.8 Types, Operators, and Expressions
- 2.8.1 Identifier Names and Keywords
- 2.8.2 Data Types and Sizes
- 2.8.3 Constants
- 2.8.4 Arithmetic Operators
- 2.8.5 Relational Operators
- 2.8.6 Logical Operators
- 2.8.7 Bitwise Operators
- 2.8.8 Assignment Operators
- 2.8.9 Increment and Decrement Operators
- 2.8.10 Conditional Expressions
- 2.8.11 Type Conversions
- 2.8.12 Precedence
- 2.9 Variables
- 2.10 Pointers and Arrays
- 2.11 Strings
- 2.12 Structs and Unions
- 2.13 Type and Constant Definitions
- 3 Aggregations
- 4 Actions and Subroutines
- 4.1 Actions
- 4.2 Default Action
- 4.3 Data Recording Actions
- 4.4 Destructive Actions
- 4.5 Special Actions
- 4.6 Subroutines
- 4.6.1 alloca
- 4.6.2 basename
- 4.6.3 bcopy
- 4.6.4 cleanpath
- 4.6.5 copyin
- 4.6.6 copyinstr
- 4.6.7 copyinto
- 4.6.8 d_path
- 4.6.9 dirname
- 4.6.10 getmajor
- 4.6.11 getminor
- 4.6.12 htonl
- 4.6.13 htonll
- 4.6.14 htons
- 4.6.15 index
- 4.6.16 inet_ntoa
- 4.6.17 inet_ntoa6
- 4.6.18 inet_ntop
- 4.6.19 lltostr
- 4.6.20 mutex_owned
- 4.6.21 mutex_owner
- 4.6.22 mutex_type_adaptive
- 4.6.23 mutex_type_spin
- 4.6.24 ntohl
- 4.6.25 ntohll
- 4.6.26 ntohs
- 4.6.27 progenyof
- 4.6.28 rand
- 4.6.29 rindex
- 4.6.30 rw_iswriter
- 4.6.31 rw_read_held
- 4.6.32 rw_write_held
- 4.6.33 speculation
- 4.6.34 strchr
- 4.6.35 strjoin
- 4.6.36 strlen
- 4.6.37 strrchr
- 4.6.38 strstr
- 4.6.39 strtok
- 4.6.40 substr
- 5 Buffers and Buffering
- 6 Output Formatting
- 7 Speculative Tracing
- 8 The dtrace Utility
- 9 Scripting
- 10 Options and Tunables
- 11 Providers
- 12 User Process Tracing
- 13 Statically Defined Tracing of User Applications
- 14 Statically Defined Tracing of Kernel Modules
- 15 Performance Considerations
- 16 Stability
- 17 Translators
- 18 Versioning

