AppleTrace
v1.0
AppleTrace是為分析應用程序在iOS上的性能而開發的。
>>我已經開發了一個稱為Messier的替代品,它更容易使用。 :)

去維基
git clone https://github.com/everettjf/AppleTrace.git
有關穩定的發布,請參考版本
trace.json中。 (可能有超過1個跟踪文件。)trace.json生成trace.html 。有關更多詳細信息,請參見下文。
到目前為止,有兩種生成跟踪數據的方法。
(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方法(基於鉤子)。這僅支持Debugger(LLDB)下的ARM64。
樣本應用程序是sample/TraceAllMsgDemo 。
使用任何類型的方法,請將<app's sandbox>/Library/appletracedata複製到模擬器/ReaDevice中。

合併/預處理appletracedata 。
python merge.py -d <appletracedata directory>
這將在AppleTracedata目錄中產生trace.json 。
trace.json chrome://tracing或者,如果要生成HTML結果,請繼續到第四步。
運行sh get_catapult.sh獲取彈射器源。
然後使用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 。
歡迎關注微信訂閱號,更多有趣的性能優化點點滴滴。 ,更多有趣的性能優化點點滴滴。
