AppleTrace é desenvolvido para analisar o desempenho do aplicativo no iOS .
>> Eu desenvolvi uma substituição chamada Messier, que é muito mais fácil de usar. :)

Vá para Wiki
git clone https://github.com/everettjf/AppleTrace.git
Para lançamento estável, consulte os lançamentos
trace.json . (Pode haver mais de 1 arquivo de rastreamento.)trace.html com base no trace.json .Veja abaixo para obter mais detalhes.
Até agora, existem 2 maneiras de gerar dados de rastreamento.
(1) Seção de conjunto manual.
Chame APTBeginSection no início do método e APTEndSection no final do método. Para o método Objetivo C (se o método de instância ou o método de classe), existem macro APTBegin e APTEnd para facilitar a codificação.
void anyKindsOfMethod{
APTBeginSection("process");
// some code
APTEndSection("process");
}
- (void)anyObjectiveCMethod{
APTBegin;
// some code
APTEnd;
}
O aplicativo de amostra é sample/ManualSectionDemo .
(2) Biblioteca dinâmica, conectando todos os objc_msgsend.
Vinculando todos os métodos objc_msgsend (com base no gancho). Isso suporta apenas o ARM64 sob depurador (LLDB).
O aplicativo de amostra é sample/TraceAllMsgDemo .
Usando qualquer tipo de método, copie <app's sandbox>/Library/appletracedata fora do simulador/realDevice.

Mesclar/pré -processar o appletracedata .
python merge.py -d <appletracedata directory>
Isso produzirá trace.json no diretório AppletRacedata.
Agora !!!, você pode largar trace.json no Chrome's chrome://tracing . Ou se você deseja gerar um resultado HTML, continue na 4ª etapa.
Run sh get_catapult.sh para obter uma fonte de catapulta.
Em seguida, gerar trace.html usando catapult .
python catapult/tracing/bin/trace2html appletracedata/trace.json --output=appletracedata/trace.html
open trace.html
trace.html apenas suporta Chrome
Abra sampledata/trace.html usando o Chrome.
欢迎关注微信订阅号 , 更多有趣的性能优化点点滴滴。
