Instruments can be used for memory profiling and for statistical profiling.
Official Apple documentation
- Instruments User Guide
- Instruments User Reference
- Instruments Help Articles
- Instruments Help
- Performance Overview
Command line tools
How do we monitor performance counters (cache miss etc.)? Instruments has a "Counters" instrument that can do this.
Instruments will record a call stack at each allocation point. The call tree view can be quite helpful here. Switch from "Statistics". This
malloc profiling is done using the
malloc_logger infrastructure (similar to
MallocStackLogging). Currently this means you need to build with jemalloc disabled (
ac_add_options --disable-jemalloc). You also need the fix to Bug 719427
DTPerformanceSession api can be used to control profiling from applications like the old CHUD API we use in Shark builds. Bug 667036
System Trace might be useful.