Table of Contents
- Title and Copyright Information
- Preface
- 1 Introducing DTrace
-
2
Tracing Operating System Behavior
- Tracing Process Creation
- Tracing System Calls
- Performing an Action at Specified Intervals
- Using Predicates to Select Actions
- Timing Events on a System
- Tracing Parent and Child Processes
-
Simple Data Aggregations
- Example: Counting the Number of write() System Calls Invoked by Processes
- Example: Counting the Number of read() and write() System Calls
- Exercise: Counting System Calls Over a Fixed Period
- Solution to Exercise and Example: Counting Write, Read, and Open System Calls Over 100 Seconds (countcalls.d)
- Example: Counting System Calls Invoked by a Process (countsyscalls.d)
- Exercise: Tracing Processes That Are Run by a User
- Solution to Exercise and Example: Counting Programs Invoked by a Specified User (countprogs.d)
- Example: Counting the Number of Times a Program Reads From Different Files in 10 Seconds (fdscount.d)
- Exercise: Counting Context Switches on a System
- Solution to Exercise and Example: Counting Context Switches on a System
-
Working With More Complex Data Aggregations
- Example: Displaying the Distribution of Read Sizes Resulting From a Command
- Example: Displaying the Distribution of I/O Throughput for Block Devices (diskact.d)
- Exercise: Displaying Read and Write I/O Throughput Separately
- Solution to Exercise: Displaying Read and Write I/O Throughput Separately
- Example: Displaying Cumulative Read and Write Activity Across a File System Device (fsact)
- Displaying System Call Errors
- 3 Tracing User-Space Applications
- 4 Going Further With DTrace