MTSC2019 中國移動互聯網測試開發大會(Mobile Testing Summit China)由國內最大的測試開發技術社區之一 TesterHome 發起的行業會議,聚焦在軟件測試及應用質量保障。在剛過去的12月14號,MTSC2019深圳站也圓滿結束。
在本次大會上,阿里巴巴無線開發專家黃健基爲你們分享了《對App崩潰Say No! 如何長期保持1‰如下崩潰率》這一主題,揭祕了阿里UC是如何長期保持APP保持千分之一如下的崩潰率的。同時也爲你們介紹了嶽鷹全景監控平臺的建設實踐。本文將提取演講精華分享給你們。markdown
打造千分之一崩潰率APP的核心手段,主要有下面3個:網絡
下文將按照實時監控平臺的日誌採集上報、日誌清洗提取、數據分析統計、數據展現,這4個核心階段進行闡述。
架構
SDK採集上報的核心是要完整暴露APP線上質量問題,因此相比通常的CrashSDK,嶽鷹的CrashSDK具有更全面的應用異常監控能力。
除了常見的應用崩潰、ANR、iOS的卡死、業務邏輯異常、cocos及U3D異常外,嶽鷹CrashSDK在影響用戶體驗的異常上繼續深挖,經過監控應用的生命週期,將下述異常也監控了起來:函數
在監控到上述異常產生時,從開發者角度來看,確定採集到的信息是越豐富越好的。因此,嶽鷹CrashSDK採集的信息除了常見的機型、rom和崩潰堆棧外,還包含句柄持有狀況、CPU、內存、磁盤IO等信息也採集了上來,提升了句柄泄露等場景下的異常問題解決。
不一樣業務都具有自身的特性,因此SDK也支持在異常時,業務將本身的特性信息採集上來。
oop
當應用更新後,它的覆蓋速度也是很是快的,若是咱們不能及時發現的話,將會很容易形成重大事故,因此阿里UC的嶽鷹全景監控平臺經過解決設備及網絡上覆雜的問題,保證SDK實時上報;解決代碼還原的效率問題,同時經過下述的架構,具有了實時的大數據處理能力,幫助業務在1分鐘內發現問題,及時控制故障影響面,保障崩潰率在千分之一下。
測試
你們都知道,日誌剛上來的時候都是很是分散的,對於研發來講,最直接的確定就是將相同崩潰堆棧的問題聚合到一塊兒,因此嶽鷹全景監控平臺也是這麼作的,而且在這方面作了比較多的優化:大數據
除此以外,咱們在分析問題的時候,是能夠發現某些問題的共性的,根據這些共性,咱們就能夠在日誌處理的時候識別出他們是啓動崩潰、句柄泄露、內存泄露或者其餘緣由致使的異常並自動打標,幫助研發直接定位出緣由,提升問題分析效率。
爲了知足業務不一樣的需求,嶽鷹全景監控平臺也支持按照業務設置的維度進行聚合。優化
前面提到的能力讓嶽鷹平臺具有了多維的數據,爲了可以高效定位問題緣由,嶽鷹全景監控平臺將平時的分析經驗沉澱到了平臺上,讓這些數據彷彿會說話通常直接告訴研發問題的緣由。 spa
嶽鷹有一個實時大盤,大盤提供分鐘、小時和天級別的數據,圖中是咱們分鐘級別的實時數據,經過這個大盤,咱們能夠第一時間發現問題。
在發現問題以後,接下來要作的就是找到緣由,是什麼崩潰致使指標波動。
這裏嶽鷹提供的Top問題列表是按照影響用戶進行TOP問題排序,能夠最直觀一目瞭然找到嚴重問題,逐個解決。並且也在TOP問題列表附上近7天趨勢,便於觀察。
肯定問題以後,接下來就是分析緣由了,看代碼就是最直接的辦法了。這裏主要分享一點,嶽鷹咱們對C++場景的崩潰日誌作了優化,支持C++行號的展現,以及inline函數的符號化。
前面講的是一些須要快速或者緊急解決的問題,而實際上有些問題是比較長尾的。這些問題經過分析趨勢,能夠找到變化的時間點,而且經過對比,找到影響因素,例如某次發版新功能引入崩潰,廠商發佈新ROM帶來兼容性問題等。
平臺還支持多維度鑽取,分析共性問題。這個主要是考慮,有些崩潰問題是在指定機型、系統版本下面纔會出現的,因此維度統計也是一個經常使用的分析手段。另外,還能夠逐個選中維度,層層分析。
前面講到,找到共性的機型、ROM等,那麼下一步就是在對應的設備上重現,經過logcat,debug獲取更詳細的錯誤信息。而Android機型很是多,iOS本地調試效率很低,經過【巖鼠雲設備平臺】,能夠快速找到機器。包括修復問題以後的迴歸驗證,也能夠經過雲真機進行。
在咱們的實踐過程當中還發現,有些線上問題是比較難一次性解決的。一個是單點用戶反饋問題,另外是線上反覆的問題。對於這種場景,咱們提供「遠程日誌」,幫助開發者獲取更詳細的日誌和用戶操做,解決缺乏排查線索的痛點。
前面講的分析過程,基本都是靠人工的方式去發現問題的。嶽鷹平臺將分析問題的經驗沉澱了下來,提供了智能預警功能,目前支持「自動通知新崩潰」、「波動提醒」,默認這些預警功能一鍵便可開啓。
爲了知足業務不一樣的述求,嶽鷹也提供了豐富的配置,知足不一樣業務個性化的需求。
發展海外市場是大趨勢,包括UC在內也有比較多的海外業務,這個時候若是把日誌從國外直接國內,是會存在如下問題的:
第1、會遇到比較多網絡因素致使的穩定性和效率問題
第2、國際政策對數據管控這塊是比較嚴格的,像印度,他是不容許咱們直接把數據迴流到國內的;
因此嶽鷹平臺提供了了海外集羣,包括日誌上傳及咱們平時的查看都是到這個海外集羣裏面查看;經過這個方式保證了整個海外業務的日誌採集的穩定性和上報的實時性,同時解決了數據迴流帶來的風險;
除了嶽鷹平臺以外,UC無線效能團隊也帶來了巖鼠雲設備平臺,就兩個平臺的建設過程以及在阿里內部的經驗實踐,在現場與廣大開發者進行了深刻的交流分享,受到廣大開發者的熱烈反響。
目前研發效能的嶽鷹全景監控平臺和巖鼠雲設備平臺已經對外開放,目前提供限時免費試用,歡迎你們體驗:
巖鼠:yanshu.effirst.com/
嶽鷹:yueying.effirst.com/
研測領域資深專家團隊,依託UC十餘年移動技術沉澱,全力打造專業的研發效能平臺。服務於阿里巴巴100+產品,爲團隊下降研測成本、提高交付效率,助力產品提高用戶體驗,讓產品交付更好更快更安心。