開發與維運

啟動、內存、卡頓三大分析,用戶體驗就用它?

隨著大量應用湧入市場加入“App內卷之戰”,終端用戶們對應用質量的要求是愈發地挑剔。端上研發同學光關注崩潰類bug解決已無法應對用戶對App體驗的訴求,很多用戶也會反饋與性能有關的問題,比如App啟動時間太長、頁面卡死、閃退等。 隨時線上用戶訴求的提高,很多開發同學也從線下測試性能演變到更關注線上性能問題,以此保障用戶體驗。

友盟+應用性能監控平臺 U-APM從去年底免費上線後,得到行業眾多開發者的接入和支持。友盟+也非常重視開發者面對應能監測的各類問題,在近幾個月,基於原有穩定性功能優化的基礎上,U-APM又新增啟動分析、內存分析、卡頓分析三大性能模塊,全面助力開發者提升用戶體驗。

1.png

啟動分析

啟動場景是用戶使用App的第一道關卡,啟動慢、啟動閃退都會直接從源頭阻斷客戶使用,甚至會造成啟動不成功新客戶卸載的情況。很多技術團隊都會以啟動耗時作為重點性能監控指標。U-APM中啟動分析包含啟動趨勢、慢啟動分析和啟動崩潰分析三大功能模塊。

2.png

啟動分析支持通過預置採集和個性化自定義兩種方式定義啟動階段,可以分別查詢首次啟動、冷啟動、熱啟動的情況效果,並可以與設備、系統、版本、地域等維度做交叉篩選查詢。

3.png

用戶也可以分別對首次啟動、冷啟動和熱啟動設置慢啟動的業務定義。一般情況下,熱啟動的時間要遠低於冷啟動、首次啟動的時間。慢啟動分析可以分別監控三種情況下的慢啟動設備數量,以及設備系統分佈等信息,並且支持單一設備定點查詢啟動時序,精準定位問題。

4.png

啟動階段的崩潰應當是日常開發中首要需要解決的問題,避免用戶短時間遇到崩潰無法繼續使用。啟動崩潰分析中篩選出自定義的啟動時限下的崩潰列表,更便於定位啟動問題。

5.png

內存分析

U-APM的內存分析提供線上OOM異常的監控與分析,幫助開發者及時發現與定位線上OOM問題。同時,提供App運行階段內存佔用情況,為應用內存優化提供關鍵指標數據。

在Android異常中,並不是所有的OOM問題都是可以簡單查看錯誤摘要是否包含Out of Memory就可以判斷的。

此次內存分析OOM異常的模塊中,將內部沉澱使用多年的智能診斷技術對外透出。可以通過智能讀取錯誤堆棧進行匹配,挖掘到那些不是OOM但實際是由OOM引起的異常問題並加以聚類,OOM異常的判斷率直接提升20%~30%。iOS應用此次也新增了OOM異常的捕獲。

6.png

內存佔用模塊中展示了內存關鍵指標信息,並且配以設備情況分佈用作統計參考。還提供了渠道、版本、系統、設備型號的分佈情況。

7.png

卡頓分析

U-APM中通過主線程的響應時間,將有卡頓體驗的設備信息、卡頓日誌進行上報。免費提供了iOS全部採集以及Android 雙端卡頓採集,且如此大量的日誌數據不用按流量付費。

8.png

除此之外,如果開發者覺得一條條看錯誤堆棧非常麻煩,可以使用U-APM利用聚合算法提供了卡頓模塊的功能,約等於1分鐘看到200條堆棧的內容,有效節省開發者大量挖掘問題的時間。卡頓模塊支持正序、倒序兩種聚合形式:

•正序聚合:篩選影響用戶量大的200個堆棧從棧頂到棧底進行聚合,幫助客戶挖掘造成卡頓問題的最核心問題

•倒序聚合:篩選影響用戶量大的200個堆棧從棧底到棧頂進行聚合,幫助客戶挖掘造成卡頓問題的最核心問題

兩種方法均展示出現頻率前10的模塊,子樹深度最多支持50層,幫助客戶下挖詳細的卡頓模塊信息

9.png

利用OpenAPI自助調用錯誤數據

U-APM後臺的錯誤數據在開發者日常的業務中還有很多的應用。比如,定期將應用質量數據灌入技術組週報中發給公司各部門,或者在公司自有後臺中展示今日實時錯誤率等性能指標。此次新上的OpenAPI可以解決靈活獲取應用採集的錯誤數據的需求,支持實時/離線90天內的數據靈活調用,免費開通權限即可使用。

10.png

監控告警升級

U-APM 中的監控告警功能在近期做了多項升級,支持更靈活更個性化的監控告警設置。開發者除了使用調用OpenAPI的方式自行加工數據設置告警,使用U-APM後臺中的監控告警功能也更為方便:

a. 靈活設置告警生效時間:

11.png

開發者可以添加告警生效的時間段,比如每週一至週五的9點至19點,週末的一12點至20點,靈活設置工作時間,不被無效信息干擾。

b.重點錯誤類型/單條錯誤告警:開發者可以選擇需要您重點關注的錯誤類型

12.png

或者直接針對某一條修復中的錯誤進行持續關注告警
13.png

c. 組合形式的告警觸發條件
14.png

開發者可以通過多種指標以及閾值型或者對比型的規則,以交集/並集的組合方式,靈活設置想要的告警觸發條件:

d.多種告警觸達渠道

15.png

如果開發者還對監控告警的觸達渠道有所要求,可以考慮使用公司的辦公軟件進行群觸達,與同組的其他同事一起關注並修復應用問題。

錯誤捕獲升級

U-APM近期的升級中對錯誤捕獲的類型有大幅增多:

Android 支持Java、Native的崩潰採集;ANR;以及針對Unity SDK增加c#、Lua的錯誤類型;

iOS 支持:Swift、Objective-C崩潰的採集

除上述功能外,U-APM在雲真機的UI設計、API上傳符號表頁面整體加載速度渲染等等功能上也進行了更新,詳情及免費使用請至:https://www.umeng.com/apm?&utm_source=w_aly_pc_0723

Leave a Reply

Your email address will not be published. Required fields are marked *