AppleTrace se desarrolla para analizar el rendimiento de la aplicación en iOS .
>> He desarrollado un reemplazo llamado Messier que es mucho más fácil de usar. :)

Ir a wiki
git clone https://github.com/everettjf/AppleTrace.git
Para liberación estable, consulte los comunicados
trace.json . (Puede haber más de 1 archivo de rastreo).trace.html basado en trace.json .Vea a continuación para obtener más detalles.
Hasta ahora, hay 2 formas de generar datos de trazas.
(1) Sección de conjunto manual.
Llame a APTBeginSection al comienzo del método y a APTEndSection al final del método. Para el método de Objetivo C (ya sea método de instancia o método de clase), hay Macro APTBegin y APTEnd para una fácil codificación.
void anyKindsOfMethod{
APTBeginSection("process");
// some code
APTEndSection("process");
}
- (void)anyObjectiveCMethod{
APTBegin;
// some code
APTEnd;
}
La aplicación de muestra es sample/ManualSectionDemo .
(2) Biblioteca dinámica enganche todos los objc_msgsend.
COLECTO TODOS LOS MÉTODOS OBJC_MSGSEND (basados en Hookzz). Esto solo admite ARM64 bajo Depugger (LLDB).
La aplicación de muestra es sample/TraceAllMsgDemo .
Usando cualquier tipo de método, copie <app's sandbox>/Library/appletracedata de Simulator/RealDevice.

Fusionar/Preprocesar el appletracedata .
python merge.py -d <appletracedata directory>
Esto producirá trace.json en el directorio ApplineData.
¡Ahora!, Podrías dejar caer trace.json en Chrome's chrome://tracing . O si desea generar un resultado HTML, continúe al 4to paso.
Ejecute sh get_catapult.sh para obtener una fuente de catapult.
Luego genere trace.html usando catapult .
python catapult/tracing/bin/trace2html appletracedata/trace.json --output=appletracedata/trace.html
open trace.html
Trace.html solo admite Chrome
Abra sampledata/trace.html usando Chrome.
欢迎关注微信订阅号 更多有趣的性能优化点点滴滴。 更多有趣的性能优化点点滴滴。
