基於Cocos2d-x的手機遊戲性能監控

Cocos2d-x是一個著名的開源移動端遊戲框架,能夠在iOS,Android,黑莓Blackberry等操做系統中創建和運行Cocos2d-x遊戲,國內的《捕魚達人》、《三國塔防-蜀傳》、《我叫MT》和海外的《憤怒的小鳥大做戰》、《BADLAND迷失之地》等手遊都是用Cocos2d-x開發的。服務器

1
因爲運行環境、代碼兼容性等問題,Cocos2d-x手遊同樣會出現崩潰、卡頓、加載緩慢、資源消耗過多等問題,所以遊戲運營商須要準確瞭解用戶環境裏的遊戲性能,而經過埋點得到的日誌數據並不能完整反映網絡和服務端問題形成的故障,因此遊戲開發商須要可以覆蓋遊戲運行所有技術棧和全部端到端環節的應用性能管理工具來準確發現、定位和解決問題。今天咱們就來看看雲智慧應用性能產品——透視寶是如何實現Cocos2d-x手機遊戲的性能監控。
Cocos2d-x的跨平臺原理
爲了充分發揮硬件性能,手機遊戲一般使用Native App開發模式,這就形成開發商要爲iOS 和Android平臺用戶開發不一樣的應用,不管是產品迭代仍是運行維護都很是麻煩。Cocos2d-x在iOS,Android等移動平臺之上,封裝了一層C++接口,從而屏蔽了平臺的差別性,經過平臺宏來控制使用哪一個平臺的代碼,向開發者提供C++接口調用。
這些接口主要包括UI、事件和網絡,封裝UI主要是使用OpenGL ES的接口來寫UI,封裝事件和網絡,均是使用C++接口對原生接口進行一層封裝。所以Cocos2d-x的跨平臺原理就是:APP->調用公共C++接口->調用平臺實現
透視寶對Cocos2d-x遊戲監控特色
綜上所述,Cocos2d-x是在原生接口之上封裝了一層C++接口,而透視寶SDK支持對Cocos2d-x原生的網絡請求監控,也支持Cocos2d-x經常使用的底層libcurl網絡庫的監控,此外還支持H5監控,Socket監控、基本運營信息獲取、地域分析、組合分析、劫持分析、移動拓撲分析以及崩潰信息收集。
網絡監控
網絡是形成手機網遊卡頓的最重要緣由,國內三大移動運營商之間的網絡互聯互通一直沒有獲得真正解決,同時各類寬帶接入商的網絡質量良莠不齊都會影響遊戲的運營,特別是即時類遊戲玩家的體驗。透視寶支持對原生的網絡庫(NSURLSession、NSURLConnection等)和libcurl庫的網絡請求(http,https)監控,監控指標包括響應時間趨勢、吞吐率趨勢、HTTP錯誤率趨勢、網絡失敗率、請求錯誤率對比、錯誤追蹤等,同時可以以域名爲維度統計全部HTTP請求的信息,包括請求名稱、平均響應時間、吞吐率、HTTP錯誤率、網絡失敗率、請求次數等。
因爲libcurl是用C寫的,不能使用hook機制,也沒有字節碼能夠改寫,因此透視寶採起直接在libcurl庫源碼中人工埋點,再從新打包成libcurl.a庫文件的方式實現監控,不用改變頭文件的引用方式,不用調用額外的接口,更不用寫額外的代碼等,同時iOS和Android兩個平臺能夠互用。若是開發者對替換原生libcurl.a庫的方式有疑慮,咱們還提供了自動埋點的方式來收集libcurl網絡庫的網絡請求性能數據。
Socket監控
手遊客戶端與服務端通信一般會使用Socket端口,所以Socket監控也是必不可少的。透視寶可以監控一段時間內App與服務器通訊時,創建鏈接響應最慢的N個主機(Server端)、向Server端寫或讀時響應最慢的N個主機以及異常數最多N個主機;監控鏈接的主機IP、端口、開始時間及鏈接耗時,標記出有異常的Socket;提供單次鏈接的詳細分析,包括設備的詳細參數、鏈接耗時、DNS解析耗時、向Server端寫或讀時的耗時及字節變化趨勢、異常堆棧等;分析一段時間內App與服務器通訊時發生異常的狀況,包括異經常使用戶數、異常次數、使用用戶數、發生異常的App版本及異常數、異常變化趨勢。
H5頁面性能監控網絡

2
免更新、易維護的HTML5頁面被普遍應用於手機遊戲通告、活動頁面、支付頁面等場景,而透視寶可以經過對H5性能數據的分析,找出加載網頁時存在的問題。透視寶的HTML5監控主要包括頁面加載性能分析和Ajax性能分析,分別從響應時間和JS/Ajax錯誤的維度對頁面的加載進行性能分析。
運營分析
在競爭激烈的手遊市場,優秀的線上遊戲運營是一款遊戲從同質化嚴重的競品中脫穎而出的前提條件,而後傳統運營工具沒法提供對用戶端性能體驗的準確監控和分析,當接到用戶反饋的遊戲卡頓等問題時只能按照預設套路去解答,並不能及時解決用戶的問題。透視寶從用戶體驗的角度提供對手遊應用的運營分析,包括接入方式分析、運營商分析、系統版本分析、應用版本分析、設備分析、地域分析、崩潰分析、劫持分析等,同時可以將地域、運營商、接入方式進行組合,多維度深刻分析cocos應用性能。框架

3
此外,透視寶提供移動應用拓撲圖,能夠幫助運維和運營人員實時掌握Cocos2d-x遊戲的總體運行狀態,包括應用正在使用的自身服務和外部服務,經過拓撲圖能夠查看應用總體的HTTP錯誤率和網絡失敗率,以及每一個服務的HTTP錯誤率、網絡失敗率和響應時間,在玩家投訴以前準確發現、定位和處理網絡、服務故障,確保用戶反饋獲得真正高效的解決。運維

相關文章
相關標籤/搜索