基于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错误率、网络失败率和响应时间,在玩家投诉以前准确发现、定位和处理网络、服务故障,确保用户反馈获得真正高效的解决。运维

相关文章
相关标签/搜索