一种动态语言性能分析及展示方法和系统与流程

文档序号:12595554阅读:296来源:国知局
一种动态语言性能分析及展示方法和系统与流程

本发明涉及一种动态语言性能分析及展示方法和系统,属于计算机领域。



背景技术:

在应用软件使用动态语言实现的逻辑部分中,由于动态语言所固有的动态语言特性,执行脚本来源的多样性,嵌入宿主语言后执行流程的碎片化等情形,实践中通常难以对其对应的执行流程做独立完整的全局性性能分析;而针对具体执行片段采样得到的性能数据,往往离散而孤立,不能反映该动态语言系统整体的运行情况。



技术实现要素:

为了解决现有技术中存在的上述问题,本发明提供一种动态语言性能分析及展示方法和系统。通过使用本发明的技术方案,用户对该动态语言的整体运行状况做直观的分析和交互。

本发明的技术方案包括一种动态语言性能分析及展示方法,其特征在于,该方法包括:A.获取目标动态语言系统,对动态语言系统进行基于动态执行和调用层次的全局采样,并生成定制的结构化中间数据;B.对中间数据进行分析,通过与执行和调用关系相对应的层叠式可视化方式对该动态语言的执行性能状况进行整体的交互和分析。

根据所述的动态语言性能分析及展示方法,所述的步骤A还包括:S21,所述动态执行包括对目标程序关键点的监控进而获取整个执行流程的性能信息;S22,提取运行时辅助信息,与关键点上捕获的性能信息相结合,组合形成结构化和层次化的中间数据。

对上述步骤S21的进一步扩展,其包括:所述程序关键点包括动态语言函数的入口和出口,动态语言代码段的入口和出口,以及,动态语言与宿主语言交互的入口和出口。

对上述步骤S22的进一步扩展,其包括:所述中间数据为动态语言在目标程序中的完整执行性能状况的描述,其组织形式与调用层次相匹配。

根据述的动态语言性能分析及展示方法,所述的步骤B还包括:S51,对结构化中间数据进行解释,进一步使用交互界面将解释后的结构化中间数据进行展示;S52,提供编辑界面对结构化中间数据进行查看、交互及分析;S53,与目标程序建立连接,并进行数据的同步交换,进一步,基于同步交换的数据对目标程序性能信息进行实时输出和监控。

对上述步骤S53的进一步扩展,其包括:提供分析器对目标程序性能信息进行分析,以及,提供调节器对目标程序性能进行实时调节。

本发明的技术方案还包括根据上述任意方法的一种动态语言性能分析及展示系统,其特征在于,该方法包括:结构化模块,用于获取目标动态语言系统,对动态语言系统进行基于动态执行和调用层次的全局采样,并生成定制的结构化中间数据;动态展示模块,用于对中间数据进行分析,通过与执行和调用关系相对应的层叠式可视化方式对该动态语言的执行性能状况进行整体的交互和分析。

本发明的有益效果为:完整展现目标程序的运行状况,帮助系统的操作人员更好地理解目标系统的实际执行流程,尤其是一些关键性能指标情况(如运行关键点上的内存占用情况和关键业务流程的执行时间)。

附图说明

图1所示为根据本发明实施方式的总体流程图;

图2所示为根据本发明实施方式的交互图;

图3所示为根据本发明实施方式的层次化中间数据示意图;

图4所示为根据本发明实施方式的操作流程图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的动态语言性能分析及展示方法和系统适用于程序性能的优化。

图1所示为根据本发明实施方式的总体流程图。主要用于实现获取目标动态语言系统,对动态语言系统进行基于动态执行和调用层次的全局采样,并生成定制的结构化中间数据;以及,对中间数据进行分析,通过与执行和调用关系相对应的层叠式可视化方式对该动态语言的执行性能状况进行整体的交互和分析。

图2所示为根据本发明实施方式的交互图。其具体交互如下所示:

在正常业务的执行流程内,首先注册和锚定关键点;

启动待分析的目标程序;

基于调用栈的数据采集;

结束目标程序;

由监控流程对采集数据做层次化处理;

输出结果;

其中启动待分析的目标程序至结束目标程序可执行多次并归并结果。

图3所示为根据本发明实施方式的层次化中间数据示意图,示意图内容如下所述:

在完整的执行序列中,包含多种待监控的目标流程,如图中列出的函数,内存代码块,宿主接口,动态语言运行时,等等;

这些目标流程以树状结构组织,形成了完整的实际执行流程;

图中箭头所示为每段执行流程所依赖的上一级执行流程,实践中可视为其父节点;

通过关键点的过滤机制,我们可以得到那些真正需要关注的运行节点及其相互之间的引用关系。

图4所示为根据本发明实施方式的操作流程图。其具体实施步骤如下S401~S406

S401,配置环境并以全局采样方式运行程序;

S402,由预先注册于动态语言在栈操作的切面上的挂钩得到单次采样数据;

S403,在特定的时间点上周期性地汇总一段时期内的采样结果。并按照执行和调用关系,以层次化的方式重新组织数据,形成结构化的中间结果;

S404,程序执行完毕时得到整个调用树,并为该树上的每个节点生成与父节点和邻节点相关联的执行数据,进而得到基于本次运行的调用树的完整层次化数据;

S405,基于Web或本地工具集的定制窗口配置交互环境,加载并展示可交互的层次化内容;

S406,用户可以整体性地缩放任意的执行区间,并查看对应的执行流程,调用关系,及对应的性能状况。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1