systrace
指令會叫用 Systrace 工具,讓您可以在系統層級收集及檢查裝置上所有執行程序的時間資訊。
本文說明如何透過指令列產生 Systrace 報表。在執行 Android 9 (API 級別 28) 以上版本的裝置中,您也可以使用系統追蹤系統應用程式產生 Systrace 報告。
如要執行 systrace
,請完成以下步驟:
- 在 Android Studio 中,下載並安裝最新的 Android SDK 工具。
- 安裝 Python,然後將其加入工作站的
PATH
環境變數中。 - 新增
android-sdk/platform-tools/
至PATH
環境變數。此目錄包含由systrace
程式呼叫的 Android Debug Bridge 二進位檔 (ADB)。 - 使用 USB 偵錯連線,連接執行 Android 4.3 (API 級別 18) 以上版本的裝置至您的開發系統。
請在 Android SDK 工具套件中,前往 android-sdk/platform-tools/systrace/
路徑,即可找到 systrace
指令。
語法
如要產生應用程式的 HTML 報表,您必須使用下列語法在指令列中執行 systrace
:
python systrace.py [options] [categories]
舉例來說,下列指令會呼叫 systrace
以記錄裝置活動,並產生名為 mynewtrace.html
的 HTML 報告。此類別清單為大多數裝置的合理預設清單。
$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
binder_driver hal dalvik camera input res memory
提示:如要查看追蹤記錄輸出內容中的任務名稱,您「必須」在指令參數中加入 sched
類別。
如要檢視連結裝置所支援的類別清單,請執行下列指令:
$ python systrace.py --list-categories
如果沒有指定任何類別或選項,systrace
會產生包含所有可用類別的報表並使用預設設定。您使用的連結裝置會決定可用的類別。
全域選項
全域選項 | 說明 |
---|---|
-h | --help |
顯示說明訊息。 |
-l | --list-categories |
列出連結裝置可用的追蹤記錄類別。 |
指令和指令選項
指令和選項 | 說明 |
---|---|
-o file |
在指定的 file 中寫入 HTML 追蹤記錄報表。如未指定此選項,systrace 會將報表儲存到與 systrace.py 相同的目錄中,並將其命名為 trace.html 。 |
-t N | --time=N |
追蹤記錄裝置活動 N 秒。如未指定此選項,systrace 會通知您在指令列中按下 Enter 鍵以結束追蹤記錄。 |
-b N | --buf-size=N |
使用 N KB 的追蹤記錄緩衝區空間。此選項可讓您限制追蹤記錄期間收集的所有資料大小。 |
-k functions |
追蹤特定核心函式活動,並以逗號分隔的清單指定。 |
-a app-name |
啟用應用程式追蹤,並以程序名稱的逗號分隔清單指定。應用程式必須包含來自 Trace 類別的追蹤檢測呼叫。每次剖析應用程式時 (許多程式庫,例如 RecyclerView ,包括可在啟用應用程式層級追蹤時,提供實用資訊的追蹤檢測呼叫),都應該指定此選項。詳情請參閱「定義自訂事件」。如要在執行 Android 9 (API 級別 28) 以上版本的裝置中追蹤所有應用程式,請傳送萬用字元 |
--from-file=file-path |
透過檔案 (例如 TXT 檔案) 建立互動式 HTML 報表,並在其中加入原始追蹤記錄資料,而不是執行即時追蹤。 |
-e device-serial |
在特定已連結裝置中執行追蹤記錄 (可使用其裝置序號加以識別)。 |
categories |
為指定的系統程序加入追蹤記錄資訊,例如可算繪圖形的系統程序,您就可以加入 gfx 。您可以運用 -l 指令執行 systrace ,查看自己連結裝置可使用的服務清單。 |
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 在裝置上擷取系統追蹤記錄