AppleTrace 、 iOSでのアプリのパフォーマンスを分析するために開発されています。
>> Messierという代替品を開発しました。 :)

ウィキに行きます
git clone https://github.com/everettjf/AppleTrace.git
安定したリリースについては、リリースを参照してください
trace.jsonにマージします。 (1つ以上のトレースファイルがある場合があります。)trace.jsonに基づいてtrace.htmlを生成します。詳細については、以下をご覧ください。
これまで、トレースデータを生成するには2つの方法があります。
(1)手動セットセクション。
メソッドの開始時にAPTBeginSection呼び出し、メソッドの最後にAPTEndSection 。目的Cメソッド(インスタンスメソッドまたはクラスメソッドのいずれであっても)の場合、簡単にコーディングするためのAPTBeginとAPTEndマクロがあります。
void anyKindsOfMethod{
APTBeginSection("process");
// some code
APTEndSection("process");
}
- (void)anyObjectiveCMethod{
APTBegin;
// some code
APTEnd;
}
サンプルアプリはsample/ManualSectionDemoです。
(2)すべてのobjc_msgsendをフックする動的ライブラリ。
すべてのobjc_msgsendメソッド(fookzzに基づく)をフックします。これは、デバッガー(LLDB)の下のARM64のみをサポートします。
サンプルアプリはsample/TraceAllMsgDemoです。
あらゆる種類の方法を使用して、 <app's sandbox>/Library/appletracedataシミュレーター/realdeviceからコピーします。

appletracedataをマージ/プレアセスします。
python merge.py -d <appletracedata directory>
これにより、appletracedataディレクトリでtrace.jsonが生成されます。
さて、!!!、 trace.json Chromeのchrome://tracingにドロップすることができます。または、HTML結果を生成する場合は、4番目のステップに進みます。
sh get_catapult.shを実行して、catapultソースを取得します。
次に、 catapultを使用してtrace.htmlを生成します。
python catapult/tracing/bin/trace2html appletracedata/trace.json --output=appletracedata/trace.html
open trace.html
trace.htmlはChromeのみをサポートします
Chromeを使用してsampledata/trace.htmlを開きます。
欢迎关注微信订阅号、更多有趣的性能优化点点滴滴。
