[发明专利]性能剖析方法及装置、电子设备、存储介质在审
申请号: | 202110009524.7 | 申请日: | 2021-01-05 |
公开(公告)号: | CN112631891A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 李金洲;虞海 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吴文心 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 性能 剖析 方法 装置 电子设备 存储 介质 | ||
本申请实施例提供了一种性能剖析方法及装置、电子设备、存储介质,其中,方法包括:获取配置数据,并依据配置数据生成注入代码,将注入代码注入到待剖析的目标进程,接收用户命令,依据用户命令调用注入代码执行性能剖析;本申请实施例可以依据配置数据自动生成注入代码并注入目标进程中,实现了性能剖析的高效易用性;通过代码注入措施实现对目标进程的性能剖析,不需要修改目标进程的源代码,提高了性能剖析的安全性和准确性;并且可以根据用户命令控制性能剖析的过程,实现了性能剖析过程的可控制性。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种性能剖析方法及装置、电子设备、存储介质。
背景技术
对于运行的项目程序,监测其性能是非常重要的,因为程序的性能直接影响了产品的用户体验。传统的性能剖析一般通过开发测试人员凭借经验初步定位要剖析的代码段,记录要剖析的代码段的前后执行时的系统时间,然后以前后执行时的系统时间差作为该代码段的运行时间;或者,使用内建的性能剖析工具,如timeit、profile、cProfile,将目标代码段运行在性能剖析工具中,以进行性能剖析。
以上传统的性能剖析方法存在以下问题:第一,需要开发测试人员手动修改源代码;第二,在剖析大型程序时随着代码量的增加,潜在的性能热点也相应增加,将会产生大量的代码改动,具体实施极为繁琐,效率低,且容易引入错误;第三,内建的性能剖析工具功能简单,缺少配套的数据收集分析工具,需要开发人员手动收集、整理性能数据,效率低下;并且需要目标代码段运行在性能剖析工具中,缺少逻辑信息,容易导致性能剖析数据不准确。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种性能剖析方法及装置、电子设备、存储介质。
为了解决上述问题,本申请实施例公开了一种性能剖析方法,所述方法包括:
获取配置数据,并依据所述配置数据生成对应的注入代码;
将所述注入代码注入待剖析的目标进程;
接收用户命令;
依据所述用户命令调用所述注入代码执行性能剖析。
可选的,所述接收用户命令的步骤,包括:
判断所述用户命令是否为指示退出剖析命令;
若所述用户命令是指示退出剖析命令,则清除所述注入代码;
若所述用户命令不是指示退出剖析命令,则确定所述用户命令的类型;
将符合预设条件类型的用户命令存放到消息队列中。
可选的,所述依据所述用户命令调用所述注入代码执行性能剖析的步骤,包括:
当所述消息队列中存在两个以上的用户命令时,确定所述消息队列中的用户命令的优先级;
按照所述优先级最高的所述用户命令调用所述注入代码执行性能剖析。
可选的,所述将所述注入代码注入待剖析的目标进程的步骤,包括:
依据所述配置数据确定所述目标进程的连接信息;
依据所述连接信息向所述目标进程发送连接请求;
当接收到与所述目标进程连接成功的信息后,将所述注入代码注入所述目标进程。
可选的,所述若所述用户命令是指示退出剖析命令,则清除所述注入代码的步骤,还包括:
断开与所述目标进程的连接。
可选的,所述方法还包括:
将性能剖析的执行结果存放到结果队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110009524.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种黄金合金的冶炼方法
- 下一篇:一种预处理沼气原料的养殖场地面清洗干燥设备