看起來不像有什麼直接的,但有一個instruments
命令行工具。下面是一些快速+骯髒的代碼,將調用它和樣品CPU使用率調用進程
static void sampleMe() {
// instruments -t '/Developer/Applications/Instruments.app/Contents/Resources/templates/CPU Sampler.tracetemplate' -p 26838 -l 5000
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/usr/bin/instruments"];
[task setArguments:[NSArray arrayWithObjects:
@"-t",
@"/Developer/Applications/Instruments.app/Contents/Resources/templates/CPU Sampler.tracetemplate",
@"-p",
[NSString stringWithFormat:@"%ld", getpid()],
@"-l",
@"5000",
nil]];
[task setCurrentDirectoryPath:NSHomeDirectory()];
[task setStandardInput:[NSPipe pipe]];
[task setStandardOutput:[NSPipe pipe]];
[task setStandardError:[NSPipe pipe]];
[task launch];
// purposely leak everything since I can't be bothered to figure out lifetimes
}
調用後,一個名爲instrumentscli0.trace
文件會在你的主目錄。
更新:儀器4.0提供DTSendSignalFlag在iOS應用程序的DTPerformanceSession。
libdtrace可能是一個選項,但我不確定API是否記錄在案。 – 2011-01-22 07:45:21
我們現在可以使用「興趣點」。請參閱http://stackoverflow.com/a/39416673/1271826。 – Rob 2016-09-09 18:41:39