Software:Instruments
This article is missing information about usage of Instruments app for profiling an app's performance on an iOS device.June 2020) ( |
Developer(s) | Apple Inc |
---|---|
Stable release | 15.0 (Same as the Xcode version it is bundled with.)
/ September 18, 2023 |
Operating system | macOS |
Type | Tracing & Profiling |
License | Proprietary freeware |
Website | help.apple.com/instruments |
Instruments (formerly Xray) is an application performance analyzer and visualizer by Apple Inc., 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.
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.
See also
- List of performance analysis tools
- Dashcode
- Shark (application)
References
- ↑ "Add an instrument to a trace document - Instruments Help". https://help.apple.com/instruments/mac/current/#/dev2b9e575d.
- ↑ "Track CPU core and thread use- Instruments Help". https://help.apple.com/instruments/mac/current/#/dev44b2b437.
- ↑ "Find abandoned memory - Instruments Help". https://help.apple.com/instruments/mac/current/#/dev7b8f6eb6.
- ↑ "Find memory leaks - Instruments Help". https://help.apple.com/instruments/mac/current/#/dev022f987b.
- ↑ "Monitor disk use - Instruments Help". https://help.apple.com/instruments/mac/current/#/dev6983c7c4.
- ↑ "Use Activity Monitor to track overall network and disk use - Instruments Help". https://help.apple.com/instruments/mac/current/#/devc63117d3.
- ↑ "Optimizing Performance with the GPU Counters Instrument - Apple Developer Documentation". https://developer.apple.com/documentation/metal/optimizing_performance_with_the_gpu_counters_instrument.
- ↑ "Using Metal System Trace in Instruments to Profile Your App - Apple Developer Documentation". https://developer.apple.com/documentation/metal/using_metal_system_trace_in_instruments_to_profile_your_app.
- ↑ "Measure the energy impact of an iOS device - Instruments Help". https://help.apple.com/instruments/mac/current/#/deva0db8947.