【技术实现步骤摘要】
性能数据的采集方法、展示方法、电子设备和客户端
本申请涉及计算机
,特别涉及一种性能数据的采集方法、展示方法、电子设备和客户端。
技术介绍
生活中,人们使用各种软件。比如,购物软件、天气预报软件、阅读软件等等。采集应用方法在执行过程中的性能数据,对于程序开发过程和调试,都有较为重要的作用。对于iOS客户端应用方法级的Profile方案,主要有两类方案;方案一是Apple提借供了针对iOS客户端应用方法维度的性能分析工具TimeProfile;该工具在客户端应用编译阶段通过在方法执行前后计时的方法统计方法的执行耗时并进行聚合。方案二是一些开源社区提供方案,基于Objective-C的运行时机制,在Objective-C消息转发(即方法调用)前后通过计时的方式记录Objective-C方法调用的耗时。现有方案至少存在以下不足:记录方法耗时的过程中没有考虑到方法执行过程中CPU调度的问题,而在真实运行场景中,对于分析锁、线程调度效率等问题至关重要。
技术实现思路
本申请实施方式提供一种性能数据的采集方法、展示方法、电子设备和客户端。本说明书实施方式提供一种性能数据的采集方法,所述方法包括:在应用方法执行的过程中,初始化一个栈帧缓存容器;所述栈帧缓存容器用于存储所述应用方法对应的线程最后一个栈帧数组;初始化一个内存缓存区,所述内存缓存区用于记录所述应用方法执行的进出栈时间、CPU时间;初始化采样线程,所述采样线程用于控制其他线程的数据采集和运行;利用初始化好的所述采样线程,通过间隔采样的方式,采集得到所述应用方法执行的性能数据。本说明书提供一种电子设备,包括:容 ...
【技术保护点】
1.一种性能数据的采集方法,其特征在于,所述方法包括:在应用方法执行的过程中,初始化一个栈帧缓存容器;所述栈帧缓存容器用于存储所述应用方法对应的线程最后一个栈帧数组;初始化一个内存缓存区,所述内存缓存区用于记录所述应用方法执行的进出栈时间、CPU时间;初始化采样线程,所述采样线程用于控制其他线程的数据采集和运行;利用初始化好的所述采样线程,通过间隔采样的方式,采集得到所述应用方法执行的性能数据。
【技术特征摘要】
1.一种性能数据的采集方法,其特征在于,所述方法包括:在应用方法执行的过程中,初始化一个栈帧缓存容器;所述栈帧缓存容器用于存储所述应用方法对应的线程最后一个栈帧数组;初始化一个内存缓存区,所述内存缓存区用于记录所述应用方法执行的进出栈时间、CPU时间;初始化采样线程,所述采样线程用于控制其他线程的数据采集和运行;利用初始化好的所述采样线程,通过间隔采样的方式,采集得到所述应用方法执行的性能数据。2.根据权利要求1所述的方法,其特征在于,所述性能数据至少包括以下至少之一:方法执行耗时、方法执行CPU耗时、线程调度数据。3.根据权利要求1所述的方法,其特征在于,所述通过间隔采样的方式,得到所述应用方法执行的性能数据,包括:暂停执行所述应用方法的线程;将所述线程的最后一个栈帧数组存储入所述栈帧缓存容器;所述最后一个栈帧数组包括所述线程所执行的方法信息;将所述最后一个栈帧数组与之前存储的所述应用方法的栈帧数组进行对比;其中,存储的栈帧数组与所述最后一个栈帧数组具有不同的生成时间;在二者不同的情况下,记录发生变更的方法信息的进出栈时间。4.根据权利要求3所述的方法,其特征在于,在读取所述线程的最后一个栈帧数组的步骤中包括:读取所述执行线程的程序指针指向的栈帧数组;其中,所述程序指针指向所述应用方法当前执行的栈帧数组。5.根据权利要求3所述的方法,其特征在于,将所述最后一个栈帧数组与之前存储的所述应用方法的栈帧数组进行对比,包括:将存储的栈帧数组中生成时间与所述最后一个栈帧数组较为接近的栈帧数组与所述最后一个栈帧数组进行对比。6.根据权利要求3所述的方法,其特征在于,所述进出栈时间包括执行开始时间;所述记录发生变更的方法信息的进出栈时间,包括:在发生变更的方法信息为所述最后一个栈帧数组相较于之前存储的所述栈帧数组增加了方法信息的情况下,将当前时间作为所述方法信息的执行开始时间进行记录。7.根据权利要求3所述的方法,其特征在于,所述进出栈时间包括执行结束时间;所述记录发生变更的方法信息的进出栈时间,包括:在发生变更的方法信息为所述最后一个栈帧数组相较于之前存储的所述栈帧数组减少了方法信息的情况下,将当前时间作为所述方法信息的执行结束时间进行记录。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:展示包括线程标识和时间轴的第一界面;所述线程标识用于表示所述线程;在所述线程标识发生第一触发事件的情况下,展示第二界面;其中,所述第二界面包括所述线程标识表示的线程所调用的方法信息,以及所述方法信息相对于所述时间轴的位置表示所述方法信息的所述进出栈时间。9.根据权利要求8所述的方法,其特征在于,在所述第二界面中,沿着竖直方向相邻的两个方法信息之间存在调用关系。10.根据权利要求8所述的方法,其特征在于,所述第一界面的时间轴具有第一度量单位;所述第二界面的时间轴具有第二度量单位;所述第一度量单位和所述第二度量单位不同。11.根据权利...
【专利技术属性】
技术研发人员:刘韩松,鲁强,贾乐,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。