[发明专利]样本剖析报告的动态计算有效
申请号: | 201110253953.5 | 申请日: | 2011-08-24 |
公开(公告)号: | CN102385552A | 公开(公告)日: | 2012-03-21 |
发明(设计)人: | A·达迪欧莫夫;M·阿加瓦尔;季新华 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 样本 剖析 报告 动态 计算 | ||
技术领域
本发明涉及计算机应用,尤其涉及样本剖析报告的动态计算。
背景技术
软件剖析涉及记录软件程序正在做什么并将结果呈现给用户,使得用户理解程序的各部分花费了多少执行时间。一种剖析机制被称为“采样”,其中在整个程序的执行中以周期性间隔对程序的调用栈进行采样。调用栈标识程序所处于的当前功能以及导致当前功能被调用的功能调用链(从主程序开始),调用栈中的每一级表示一功能调用。有时,调用栈可以是十几级或甚至数百级深。例如,如果调用栈是每毫秒采样的,并且执行时间是300秒,则将有300,000个调用栈样本,每一调用栈可能相当大。由此,所记录的采样的数据可以相当庞大,涉及每一个所采样的调用栈的线性序列。在多线程应用中,这一采样对每一线程发生。
为将所记录的数据呈现给用户一特定时间段,对于与该时间段对应的各调用栈,呈现程序逐一访问每一个所采样的调用栈。随着呈现程序这样做,它响应性地创建了调用栈树,该树中的每一节点表示程序的一功能并且根节点表示主程序。当遇到唯一的调用栈时,树通过将带有树中适当祖先链的表示该功能的节点添加到树中来扩充,使得随着沿祖先链进行至根节点、以适当次序遇到调用栈中所有功能。随后,随着遇到非唯一的调用栈,与适当的调用栈节点相关联的计数器递增。该时间段所有的调用栈被计数之后,向用户呈现适当的用户界面,从而给予用户对于在该给定时间段程序的哪些部分花费了多少时间的概念。
高级剖析应用允许用户改变所评估的时间段,从而导致采样至新时间段的调用栈被再次计数,由此调整向用户的呈现。
发明内容
本文所描述的至少一个实施例涉及对表示程序的执行时间的分层时间树的构造或使用。为构造分层时间树,与根节点对应的时间帧是期间调用栈样本从程序中被收集的执行时间。在根节点处开始且递归地进行,每一节点随后以在给定时间段所有调用栈无需被访问的方式来填充,以便提供与该给定时间段有关的报告。
本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
为了描述可以获得上面所列举的及其他优点和特征的方式,下面将参考附图来呈现对各实施例的更具体的描述。可以理解,这些附图只描绘了样本实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加属性和细节来描述和解释各实施例,在附图中:
图1示出可用于采用此处所描述的各实施例的示例计算系统;
图2示出用于构造表示程序的执行时间的分层时间树的方法的流程图;
图3示出可使用图2的方法来构造的示例分层时间树;
图4示出用于构造表示程序的执行时间的分层时间树的更具体的方法的流程图,并且是图2的方法的一个示例;
图5示出用于使用时间树结构以便构造与在给定的执行时间间隔所获得的调用栈样本有关的报告的方法的流程图;以及
图6示出表示图5的方法的一个示例的更具体的方法的流程图。
具体实施方式
根据本文所描述的各实施例,描述了对表示程序的执行时间的分层时间树的构造或使用。为构造分层时间树,与根节点对应的时间帧是期间多个调用栈样本从程序中被收集的执行时间。在根节点处开始且递归地继续,每一节点随后以在给定时间段所有调用栈无需被访问的方式来填充,以便提供与该给定时间段有关的报告。首先,将参考图1来描述关于计算系统的某些介绍性讨论。随后,对分层时间树的构造和使用的实施例将参考图2至图6来描述。
首先,参考图1来描述关于计算系统的介绍性讨论。计算系统现在越来越多地采取多种多样的形式。计算系统可以例如是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统,或者甚至通常不被视为计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括包含至少一个处理器以及其上能含有可由处理器执行的计算机可执行指令的存储器的任何设备或系统(或其组合)。存储器可以采取任何形式,并可以取决于计算系统的特性和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110253953.5/2.html,转载请声明来源钻瓜专利网。