随着大量應用湧入市場加入“App内卷之戰”,終端使用者們對應用品質的要求是愈發地挑剔。端上研發同學光關注崩潰類bug解決已無法應對使用者對App體驗的訴求,很多使用者也會回報與性能有關的問題,比如App啟動時間太長、頁面卡死、閃退等。 随時線上使用者訴求的提高,很多開發同學也從線下測試性能演變到更關注線上性能問題,以此保障使用者體驗。
友盟+應用性能監控平台 U-APM從去年底免費上線後,得到行業衆多開發者的接入和支援。友盟+也非常重視開發者面對應能監測的各類問題,在近幾個月,基于原有穩定性功能優化的基礎上,U-APM又新增啟動分析、記憶體分析、卡頓分析三大性能子產品,全面助力開發者提升使用者體驗。

啟動分析
啟動場景是使用者使用App的第一道關卡,啟動慢、啟動閃退都會直接從源頭阻斷客戶使用,甚至會造成啟動不成功新客戶解除安裝的情況。很多技術團隊都會以啟動耗時作為重點性能監控名額。U-APM中啟動分析包含啟動趨勢、慢啟動分析和啟動崩潰分析三大功能子產品。
啟動分析支援通過預置采集和個性化自定義兩種方式定義啟動階段,可以分别查詢首次啟動、冷啟動、熱啟動的情況效果,并可以與裝置、系統、版本、地域等次元做交叉篩選查詢。
使用者也可以分别對首次啟動、冷啟動和熱啟動設定慢啟動的業務定義。一般情況下,熱啟動的時間要遠低于冷啟動、首次啟動的時間。慢啟動分析可以分别監控三種情況下的慢啟動裝置數量,以及裝置系統分布等資訊,并且支援單一裝置定點查詢啟動時序,精準定位問題。
啟動階段的崩潰應當是日常開發中首要需要解決的問題,避免使用者短時間遇到崩潰無法繼續使用。啟動崩潰分析中篩選出自定義的啟動時限下的崩潰清單,更便于定位啟動問題。
記憶體分析
U-APM的記憶體分析提供線上OOM異常的監控與分析,幫助開發者及時發現與定位線上OOM問題。同時,提供App運作階段記憶體占用情況,為應用記憶體優化提供關鍵名額資料。
在Android異常中,并不是所有的OOM問題都是可以簡單檢視錯誤摘要是否包含Out of Memory就可以判斷的。
此次記憶體分析OOM異常的子產品中,将内部沉澱使用多年的智能診斷技術對外透出。可以通過智能讀取錯誤堆棧進行比對,挖掘到那些不是OOM但實際是由OOM引起的異常問題并加以聚類,OOM異常的判斷率直接提升20%~30%。iOS應用此次也新增了OOM異常的捕獲。
記憶體占用子產品中展示了記憶體關鍵名額資訊,并且配以裝置情況分布用作統計參考。還提供了管道、版本、系統、裝置型号的分布情況。
卡頓分析
U-APM中通過主線程的響應時間,将有卡頓體驗的裝置資訊、卡頓日志進行上報。免費提供了iOS全部采集以及Android 雙端卡頓采集,且如此大量的日志資料不用按流量付費。
除此之外,如果開發者覺得一條條看錯誤堆棧非常麻煩,可以使用U-APM利用聚合算法提供了卡頓子產品的功能,約等于1分鐘看到200條堆棧的内容,有效節省開發者大量挖掘問題的時間。卡頓子產品支援正序、倒序兩種聚合形式:
•正序聚合:篩選影響使用者量大的200個堆棧從棧頂到棧底進行聚合,幫助客戶挖掘造成卡頓問題的最核心問題
•倒序聚合:篩選影響使用者量大的200個堆棧從棧底到棧頂進行聚合,幫助客戶挖掘造成卡頓問題的最核心問題
兩種方法均展示出現頻率前10的子產品,子樹深度最多支援50層,幫助客戶下挖詳細的卡頓子產品資訊
利用OpenAPI自助調用錯誤資料
U-APM背景的錯誤資料在開發者日常的業務中還有很多的應用。比如,定期将應用品質資料灌入技術組周報中發給公司各部門,或者在公司自有背景中展示今日實時錯誤率等性能名額。此次新上的OpenAPI可以解決靈活擷取應用采集的錯誤資料的需求,支援實時/離線90天内的資料靈活調用,免費開通權限即可使用。
監控告警更新
U-APM 中的監控告警功能在近期做了多項更新,支援更靈活更個性化的監控告警設定。開發者除了使用調用OpenAPI的方式自行加工資料設定告警,使用U-APM背景中的監控告警功能也更為友善:
a. 靈活設定告警生效時間:
開發者可以添加告警生效的時間段,比如每周一至周五的9點至19點,周末的一12點至20點,靈活設定工作時間,不被無效資訊幹擾。
b.重點錯誤類型/單條錯誤告警:開發者可以選擇需要您重點關注的錯誤類型
或者直接針對某一條修複中的錯誤進行持續關注告警
c. 組合形式的告警觸發條件
開發者可以通過多種名額以及門檻值型或者對比型的規則,以交集/并集的組合方式,靈活設定想要的告警觸發條件:
d.多種告警觸達管道
如果開發者還對監控告警的觸達管道有所要求,可以考慮使用公司的辦公軟體進行群觸達,與同組的其他同僚一起關注并修複應用問題。
錯誤捕獲更新
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