HarmonyOS之HiTrace日志跟踪定位分析
生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之HiTrace日志跟踪定位分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、概述
- 在 HarmonyOS 跨設(shè)備分布式應(yīng)用的問題定位過程中,由于跨設(shè)備之間的調(diào)用關(guān)系復(fù)雜,導(dǎo)致問題定位困難。DevEco Studio 提供了 HiTrace 日志跟蹤的能力,可以分析和梳理跨設(shè)備分布式應(yīng)用之間的調(diào)用關(guān)系,通過分析調(diào)用鏈,方便開發(fā)者定位調(diào)用異常、性能瓶頸等問題。
- 開發(fā)者可以通過 HarmonyOS Interface Definition Language(簡稱 HarmonyOS IDL)實現(xiàn)不同設(shè)備之間的跨進程通信(IPC,Inter-Process Communication),即開發(fā)者可以在一個設(shè)備上訪問另一個設(shè)備的進程或者調(diào)用另一個設(shè)備的方法,實現(xiàn)多設(shè)備的協(xié)同能力。
- 因此,DevEco Studio 基于 HarmonyOS IDL 實現(xiàn)的跨設(shè)備的分布式場景,提供了跨設(shè)備的 HarmonyOS 分布式應(yīng)用的調(diào)試功能,方便開發(fā)者調(diào)測分布式應(yīng)用。
- 前提條件:
-
- 工程中至少包含2個及以上的模塊,且模塊代碼是基于 HarmonyOS IDL 的 Java 語言實現(xiàn)。
-
- 調(diào)測的多個設(shè)備成功組網(wǎng),包括連接到同一個 WLAN 網(wǎng)絡(luò)、登錄同一個華為帳號和同時打開藍牙開關(guān)。
-
- 已連接真機設(shè)備,或已啟動分布式模擬器。
二、跨設(shè)備分布式應(yīng)用調(diào)試
- 在涉及跨設(shè)備調(diào)用的代碼行設(shè)置斷點;
- 選擇已創(chuàng)建的跨設(shè)備調(diào)試配置(Super App)選項,單擊如下按鈕啟動調(diào)試:
- 在彈出的設(shè)備選擇窗口,指定調(diào)試設(shè)備對應(yīng)的模塊名稱:
- 啟動調(diào)試后,DevEco Studio 將按照勾選的多個設(shè)備,分別啟動多個調(diào)試會話窗口,命名為:“Super App-模塊名”,如 Super App-entry:
- 在代碼執(zhí)行到斷點處(跨設(shè)備調(diào)用的代碼處),點擊 Step Into,快捷鍵為 F7(Mac 為 F7),則會自動跳轉(zhuǎn)到被調(diào)用代碼接口方法處;
- 例如,在上圖中的調(diào)試界面為例,在 Phone 中調(diào)用 TV 的音樂播放能力,單擊 Step Into,調(diào)試窗口將從“Super App-entry”跳轉(zhuǎn)到“Super App-entrytv”窗口,同時,代碼也會跳轉(zhuǎn)到對應(yīng)的接口方法處,無需開發(fā)者手動設(shè)置斷點。
三、HiTrace日志跟蹤定位分析
- 在需要跟蹤調(diào)用鏈的 RPC 調(diào)用處,前后分別添加 Hitrace 類接口,用于采集 Hitrace 日志。對應(yīng)的示例代碼如下所示:
- 在設(shè)備上運行應(yīng)用,跨設(shè)備運行分布式應(yīng)用的方法請參考運行/調(diào)試分布式應(yīng)用。
- 在底部工具欄點擊 Profiler,打開 Hitrace 工具:
- 在 Hitrace 窗口,點擊 Record 按鈕,開始收集 Hitrace 日志信息,然后在設(shè)備上操作分布式應(yīng)用。
- 點擊停止按鈕,停止收集 Hitrace 日志信息。日志采集完成后,可以看到如下的時序視圖(上半部分)和調(diào)用鏈詳情視圖(下半部分)。
四、Hitrace 調(diào)用鏈分析
- Hitrace 日志采集完成后,會生成時序視圖和調(diào)用鏈詳情視圖,可以利用時序圖和調(diào)用鏈詳細視圖來進行故障定位定界和性能分析。
- 利用時序圖+調(diào)用鏈視圖中的 Call Tree 視圖,可以分析分布式跨設(shè)備與跨進程的調(diào)用關(guān)系:
-
- 在時序圖中,使用不同顏色矩形塊區(qū)分不同的調(diào)用關(guān)系,在矩形塊中,可以展示調(diào)用的開始時間、結(jié)束時間和處理時長,幫助開發(fā)者分析處理性能。
-
- 點擊時序圖中的矩形塊,則會展示進程的調(diào)用方向,從而查看其是調(diào)用方或被調(diào)用方;同時在 Call Tree 視圖中,也可以清晰的展示進程的調(diào)用關(guān)系(單設(shè)備跨進程調(diào)用、跨設(shè)備進程調(diào)用、調(diào)用時長等)。
- 利用時序圖+調(diào)用鏈視圖中的 Events 視圖,可以進行分布式調(diào)用的故障定位定界、診斷和分析:
-
- 在時序圖中,可以展示相關(guān)的異常事件,包括 Java Crash 異常、JS Crash 異常、C/C++ Crash 異常、跨設(shè)備 FA 調(diào)用異常、ANR 故障等。
-
- 點擊時序圖中的異常事件,則會在 Events 視圖中展示具體的異常細節(jié),并會自動抓取異常前 30s 的詳細日志信息。
總結(jié)
以上是生活随笔為你收集整理的HarmonyOS之HiTrace日志跟踪定位分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HarmonyOS之常用组件WebVie
- 下一篇: HarmonyOS之变量可视化调试