[发明专利]一种iOS端应用程序性能的监控方法和装置在审
申请号: | 202010352522.3 | 申请日: | 2020-04-28 |
公开(公告)号: | CN111538638A | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 白晓 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 王维新 |
地址: | 100086 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ios 应用程序 性能 监控 方法 装置 | ||
1.一种iOS端应用程序性能的监控方法,其特征在于,包括:
启动iOS端的应用程序,继承NSURLProtocol以拦截所述应用程序的上层网络请求,通过创建NSURLProtocol实例抓取所述应用程序的网络请求信息;
创建一个子线程,所述子线程监控主线程的RunLoop,获取所述主线程的卡顿信息;
通过NSException、SIGABRT来获取Mach异常和Unix信号,读取NSExcption对象以获取所述应用程序的崩溃信息;
发送所述网络请求数据、卡顿信息和崩溃信息至服务器。
2.根据权利要求1所述的方法,其特征在于,所述应用程序的卡顿信息包括堆栈信息;
所述子线程监控主线程的RunLoop,获取所述主线程的卡顿信息,包括:
实时计算kCFRunLoopBeforeSources与kCFRunLoopAfterWaiting两个状态区域之间的耗时;
在所述耗时超过预设时间阈值的情况下,确定所述应用程序发生卡顿;
采集所述应用程序发生卡顿时所述主线程的堆栈信息。
3.根据权利要求1所述的方法,其特征在于,所述崩溃信息包括堆栈信息、崩溃的代码及原因;
读取NSExcption对象以获取所述应用程序的崩溃信息,包括:
读取NSExcption对象以获取所述应用程序的堆栈信息、崩溃的代码及原因。
4.根据权利要求1所述的方法,其特征在于,发送所述网络请求数据、卡顿信息和崩溃信息至服务器,包括:
将所述网络请求数据、卡顿信息和崩溃信息存储到应用程序的本地文件中;
下次启动应用程序时,将所述应用程序本地文件中的所述网络请求数据、卡顿信息和崩溃信息上传到服务器。
5.一种iOS端应用程序性能的监控装置,其特征在于,包括:
网络请求信息抓取模块,被配置为启动iOS端的应用程序,继承NSURLProtocol以拦截所述应用程序的上层网络请求,通过创建NSURLProtocol实例抓取所述应用程序的网络请求信息;
卡顿信息获取模块,被配置为创建一个子线程,所述子线程监控主线程的RunLoop,获取所述主线程的卡顿信息;
崩溃信息获取模块,被配置为通过NSException、SIGABRT来获取Mach异常和Unix信号,读取NSExcption对象以获取所述应用程序的崩溃信息;
发送模块,被配置为发送所述网络请求数据、卡顿信息和崩溃信息至服务器。
6.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-4任意一项所述方法的步骤。
7.一种存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010352522.3/1.html,转载请声明来源钻瓜专利网。