性能剖析方法及装置、电子设备、存储介质制造方法及图纸

技术编号:28034620 阅读:13 留言:0更新日期:2021-04-09 23:16
本申请实施例提供了一种性能剖析方法及装置、电子设备、存储介质,其中,方法包括:获取配置数据,并依据配置数据生成注入代码,将注入代码注入到待剖析的目标进程,接收用户命令,依据用户命令调用注入代码执行性能剖析;本申请实施例可以依据配置数据自动生成注入代码并注入目标进程中,实现了性能剖析的高效易用性;通过代码注入措施实现对目标进程的性能剖析,不需要修改目标进程的源代码,提高了性能剖析的安全性和准确性;并且可以根据用户命令控制性能剖析的过程,实现了性能剖析过程的可控制性。

【技术实现步骤摘要】
性能剖析方法及装置、电子设备、存储介质
本申请涉及数据处理
,特别是涉及一种性能剖析方法及装置、电子设备、存储介质。
技术介绍
对于运行的项目程序,监测其性能是非常重要的,因为程序的性能直接影响了产品的用户体验。传统的性能剖析一般通过开发测试人员凭借经验初步定位要剖析的代码段,记录要剖析的代码段的前后执行时的系统时间,然后以前后执行时的系统时间差作为该代码段的运行时间;或者,使用内建的性能剖析工具,如timeit、profile、cProfile,将目标代码段运行在性能剖析工具中,以进行性能剖析。以上传统的性能剖析方法存在以下问题:第一,需要开发测试人员手动修改源代码;第二,在剖析大型程序时随着代码量的增加,潜在的性能热点也相应增加,将会产生大量的代码改动,具体实施极为繁琐,效率低,且容易引入错误;第三,内建的性能剖析工具功能简单,缺少配套的数据收集分析工具,需要开发人员手动收集、整理性能数据,效率低下;并且需要目标代码段运行在性能剖析工具中,缺少逻辑信息,容易导致性能剖析数据不准确。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种性能剖析方法及装置、电子设备、存储介质。为了解决上述问题,本申请实施例公开了一种性能剖析方法,所述方法包括:获取配置数据,并依据所述配置数据生成对应的注入代码;将所述注入代码注入待剖析的目标进程;接收用户命令;依据所述用户命令调用所述注入代码执行性能剖析。>可选的,所述接收用户命令的步骤,包括:判断所述用户命令是否为指示退出剖析命令;若所述用户命令是指示退出剖析命令,则清除所述注入代码;若所述用户命令不是指示退出剖析命令,则确定所述用户命令的类型;将符合预设条件类型的用户命令存放到消息队列中。可选的,所述依据所述用户命令调用所述注入代码执行性能剖析的步骤,包括:当所述消息队列中存在两个以上的用户命令时,确定所述消息队列中的用户命令的优先级;按照所述优先级最高的所述用户命令调用所述注入代码执行性能剖析。可选的,所述将所述注入代码注入待剖析的目标进程的步骤,包括:依据所述配置数据确定所述目标进程的连接信息;依据所述连接信息向所述目标进程发送连接请求;当接收到与所述目标进程连接成功的信息后,将所述注入代码注入所述目标进程。可选的,所述若所述用户命令是指示退出剖析命令,则清除所述注入代码的步骤,还包括:断开与所述目标进程的连接。可选的,所述方法还包括:将性能剖析的执行结果存放到结果队列中;从所述结果队列中提取并展示所述执行结果。本申请实施例还公开了一种性能剖析方法,应用于性能剖析客户端,所述性能剖析客户端包括第一线程和第二线程,所述方法包括:所述第一线程获取配置数据,并将所述配置数据发送至所述第二线程,由所述第二线程依据所述配置数据生成对应的注入代码;所述第二线程将所述注入代码注入待剖析的目标进程;所述第一线程接收用户命令,并将所述用户命令发送至所述第二线程;所述第二线程依据所述用户命令调用所述注入代码执行性能剖析。可选的,所述所述第一线程接收用户命令,并将所述用户命令发送至所述第二线程的步骤,包括:所述第一线程判断所述用户命令是否为指示退出剖析命令;若所述用户命令是指示退出剖析命令,所述第一线程通知所述第二线程清除所述注入代码;若所述用户命令不是指示退出剖析命令,所述第一线程确定所述用户命令的类型;所述第一线程将符合预设条件类型的用户命令发送至所述第二线程的消息队列中。可选的,所述第二线程依据所述用户命令调用所述注入代码执行性能剖析的步骤,包括:当所述消息队列中存在两个以上的用户命令时,所述第二线程确定所述消息队列中的用户命令的优先级;所述第二线程按照所述优先级最高的所述用户命令调用所述注入代码执行性能剖析。可选的,所述第二线程将所述注入代码注入待剖析的目标进程的步骤,包括:所述第二线程依据所述配置数据确定所述目标进程的连接信息;所述第二线程向所述连接信息向所述目标进程发送连接请求;当接收到于所述目标进程连接成功的信息后,所述第二线程将所述注入代码注入所述目标进程。可选的,所述若所述用户命令是指示退出剖析命令,所述第一线程通知所述第二线程清除所述注入代码的步骤,还包括:所述第一线程通知所述第二线程断开与所述目标进程的连接。可选的,所述方法还包括:所述第二线程将性能剖析的执行结果存放到结果队列中;所述第一线程从所述结果队列中提取并展示所述执行结果。本申请实施例还公开了一种性能剖析装置,所述装置包括:第一获取模块,用于获取配置数据,并依据所述配置数据生成对应的注入代码;代码注入模块,用于将所述注入代码注入待剖析的目标进程;接收命令模块,用于接收用户命令;执行剖析模块,用于依据所述用户命令调用所述注入代码执行性能剖析。可选的,所述接收命令模块包括:第一判断模块,用于判断所述用户命令是否为指示退出剖析命令;代码清除模块,用于若所述用户命令是指示退出剖析命令,则清除所述注入代码;类型确定模块,用于若所述用户命令不是指示退出剖析命令,则确定所述用户命令的类型;命令存放模块,用于将符合预设条件类型的用户命令存放到消息队列中。可选的,所述执行剖析模块包括:优先级确定模块,用于当所述消息队列中存在两个以上的用户命令时,确定所述消息队列中的用户命令的优先级;命令执行模块,用于按照所述优先级最高的所述用户命令调用所述注入代码执行性能剖析。可选的,所述代码注入模块包括:连接信息确定模块,用于依据所述配置数据确定所述目标进程的连接信息;连接请求发送模块,用于依据所述连接信息向所述目标进程发送连接请求;连接注入模块,用于当接收到与所述目标进程连接成功的信息后,将所述注入代码注入所述目标进程。可选的,所述代码清除模块,还包括:断开连接子模块,用于断开与所述目标进程的连接可选的,所述装置还包括:结果存放模块,用于将性能剖析的执行结果存放到结果队列中;结果展示模块,用于从所述结果队列中提取并展示所述执行结果。本申请实施例还公开一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的性能剖析方法的步骤。本申请实施例还公开一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上所述的性能剖析方法的步骤。本申请包括以下优点:在本申请的实施例中,通过获取配置数据,并依据配置数据生成注入代码,将注入代码注入到待剖析本文档来自技高网...

【技术保护点】
1.一种性能剖析方法,其特征在于,应用于性能剖析客户端,所述方法包括:/n获取配置数据,并依据所述配置数据生成对应的注入代码;/n将所述注入代码注入待剖析的目标进程;/n接收用户命令;/n依据所述用户命令调用所述注入代码执行性能剖析。/n

【技术特征摘要】
1.一种性能剖析方法,其特征在于,应用于性能剖析客户端,所述方法包括:
获取配置数据,并依据所述配置数据生成对应的注入代码;
将所述注入代码注入待剖析的目标进程;
接收用户命令;
依据所述用户命令调用所述注入代码执行性能剖析。


2.根据权利要求1所述的方法,其特征在于,所述接收用户命令的步骤,包括:
判断所述用户命令是否为指示退出剖析命令;
若所述用户命令是指示退出剖析命令,则清除所述注入代码;
若所述用户命令不是指示退出剖析命令,则确定所述用户命令的类型;
将符合预设条件类型的用户命令存放到消息队列中。


3.根据权利要求2所述的方法,其特征在于,所述依据所述用户命令调用所述注入代码执行性能剖析的步骤,包括:
当所述消息队列中存在两个以上的用户命令时,确定所述消息队列中的用户命令的优先级;
按照所述优先级最高的所述用户命令调用所述注入代码执行性能剖析。


4.根据权利要求3所述的方法,其特征在于,所述将所述注入代码注入待剖析的目标进程的步骤,包括:
依据所述配置数据确定所述目标进程的连接信息;
依据所述连接信息向所述目标进程发送连接请求;
当接收到与所述目标进程连接成功的信息后,将所述注入代码注入所述目标进程。


5.根据权利要求4所述的方法,其特征在于,所述若所述用户命令是指示退出剖析命令,则清除所述注入代码的步骤,还包括:
断开与所述目标进程的连接。


6.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
将性能剖析的执行结果存放到结果队列中;
从所述结果队列中提取并展示所述执行结果。


7.一种性能剖析方法,其特征在于,应用于性能剖析客户端,所述性能剖析客户端包括第一线程和第二线程,所述方法包括:
所述第一线程获取配置数据,并将所述配置数据发送至所述第二线程,由所述第二线程依据所述配置数据生成对应的注入代码;
所述第二线程将所述注入代码注入待剖析的目标进程;
所述第一线程接收用户命令,并将所述用户命令发送至所述第二线程;
所述第二线程依据所述用户命令调用所述注入代码执行性能剖析。


8.根据权利要求7所述的方法,其特征在于,所述所述第一线程接收用户命令,并将所述用户命令发送至所述第二线程的步骤,包括:
所述第一...

【专利技术属性】
技术研发人员:李金洲虞海
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1