Sieht nicht so aus, als gäbe es etwas Einfaches, aber es gibt ein Befehlszeilenprogramm instruments
. Hier einig schnell + schmutzig-Code, der es und Probe CPU-Auslastung für den anrufenden Prozess
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
}
Nach Aufruf einer Datei mit dem Namen aufrufen instrumentscli0.trace
in Ihrem Home-Verzeichnis sein.
Aktualisierung: Instruments 4.0 bietet DTSendSignalFlag in der DTPerformanceSession für iOS-Anwendungen.
libdtrace könnte eine Option sein, aber ich bin mir nicht sicher, ob die API dokumentiert ist. –
Wir können jetzt "Points of Interest" verwenden. Siehe http://stackoverflow.com/a/39416673/1271826. – Rob