Instruments (software)
Instruments (formerly Xray) is an application performance analyzer and visualizer, integrated in Xcode 3.0 and later versions of Xcode. It is built on top of the DTrace tracing framework from OpenSolaris, which was ported to Mac OS X v10.5 and which is available in all following versions of macOS.
Developer(s) | Apple Inc |
---|---|
Stable release | 11.6 (Same as the Xcode version it is bundled with.)
/ May 20, 2020 |
Operating system | macOS |
Type | Tracing & Profiling |
License | Freeware. Proprietary |
Website | help.apple.com/instruments |
Instruments shows a time line displaying any event occurring in the application, such as CPU activity variation, memory allocation, and network and file activity, together with graphs and statistics. Group of events are monitored via customizable "instruments", which have the ability to record user generated events and replay (emulate) them exactly as many times as needed, so a developer can see the effect of code changes without actually doing the repetitive work. The Instrument Builder feature allows the creation of custom analysis instruments. [1]
Features
Built-in instruments can track
- CPU activity of processes and threads.[2]
- Memory allocation and release, [3] garbage collection and memory leaks.[4]
- File reads, writes, locks. [5]
- Network activity and traffic. [6] This instrument works like Activity Monitor but also stores the data for future reference.
- Graphics and inner workings of OpenGL [7] and Metal. [8]
- Energy diagnostics and "dead" objects. [9]
- UI automation and Core animation.
- User events, such as keyboard keys pressed and mouse moves and clicks with exact time.
References
- "Add an instrument to a trace document - Instruments Help".
- "Track CPU core and thread use- Instruments Help".
- "Find abandoned memory - Instruments Help".
- "Find memory leaks - Instruments Help".
- "Monitor disk use - Instruments Help".
- "Use Activity Monitor to track overall network and disk use - Instruments Help".
- "Optimizing Performance with the GPU Counters Instrument - Apple Developer Documentation".
- "Using Metal System Trace in Instruments to Profile Your App - Apple Developer Documentation".
- "Measure the energy impact of an iOS device - Instruments Help".