Instruments User Guide
PDF
Introduction
Instruments Quick Start
Launching Instruments
Creating a Trace Document
A Tour of the Trace Document Window
Example: Performing a Quick Trace
What’s Next?
Adding and Configuring Instruments
Using the Instrument Library
Changing the Library View Mode
Finding an Instrument in the Library
Creating Custom Instrument Groups
Creating a Static Group
Creating a Smart Group
Adding and Removing Instruments
Configuring an Instrument
Recording Trace Data
Choosing Which Process to Trace
Tracing All Processes
Attaching to an Existing Process
Launching an Executable from Instruments
Specifying a Different Target for Each Instrument
Recording Trace Data
Launching Instruments Using Quick Start Keys
Running in Mini Mode
Running Instruments from Xcode
Working with a User Interface Track
Recording a User Interface Track
Rerecording a User Interface Track
Replaying a User Interface Track
Viewing and Analyzing Trace Data
Tools for Viewing Data
The Track Pane
Viewing Trace Runs
Displaying Multiple Data Sets for an Instrument
Changing the Display Style of a Track
Zooming in the Track Pane
The Detail Pane
Changing the Display Style of the Detail Pane
Sorting in the Detail Pane
Searching in the Detail Pane
Viewing Data for a Range of Time
The Extended Detail Pane
The Run Browser
Analysis Techniques
Analyzing Data with the Sampler Instrument
Analyzing the Call Stack Data
Filtering the Contents of the Detail Pane
Analyzing Data with the ObjectAlloc Instrument
Analyzing the Object Allocation Data
Tracking Reference Counting Events
Filtering the Contents of the Detail Pane
Looking for Memory Leaks
Analyzing Core Data Applications
Saving and Importing Trace Data
Saving a Trace Document
Saving an Instruments Trace Template
Exporting Track Data
Importing Data from the Sample Tool
Working With DTrace Data
Creating Custom Instruments with DTrace
About Custom Instruments
Creating a Custom Instrument
Adding and Deleting Probes
Specifying the Probe Provider
Adding Predicates to a Probe
Adding Actions to a Probe
Tips for Writing Custom Scripts
Writing BEGIN and END Scripts
Accessing Kernel Data from Custom Scripts
Scoping Variables Appropriately
Finding Script Errors
Exporting DTrace Scripts
Built-in Instruments
Core Data
Core Data Saves
Core Data Fetches
Core Data Faults
Core Data Cache Misses
File System
File Locks
File Attributes
File Activity
Directory I/O
Garbage Collection
GC Total
Garbage Collection
Graphics
OpenGL Driver
Input/Output
Reads/Writes
Master Tracks
User Interface
Memory
Shared Memory
ObjectAlloc
Leaks
System
Spin Monitor
Sampler
Process
Network Activity Monitor
Memory Monitor
Disk Monitor
CPU Monitor
Activity Monitor
Threads/Locks
Java Thread
User Interface
Cocoa Events
Carbon Events
Revision History