当前位置: 首页 > 专利查询>微软公司专利>正文

剖析数据可视化制造技术

技术编号:10732296 阅读:97 留言:0更新日期:2014-12-10 09:55
剖析数据以许多种方式被可视化以视觉传达程序性能问题并便利于对其分析。在一个实例中,可以呈现提供了不同类型的程序剖析数据的视图的多个相关的可视化。而且,可以呈现逻辑分组的剖析数据以允许对程序执行的有意义的分析。可视化还可以反映关于所指定的性能目标的剖析数据的状态,以及提供机制以允许剖析数据的记录和回放等等。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】剖析数据以许多种方式被可视化以视觉传达程序性能问题并便利于对其分析。在一个实例中,可以呈现提供了不同类型的程序剖析数据的视图的多个相关的可视化。而且,可以呈现逻辑分组的剖析数据以允许对程序执行的有意义的分析。可视化还可以反映关于所指定的性能目标的剖析数据的状态,以及提供机制以允许剖析数据的记录和回放等等。【专利说明】剖析数据可视化背景剖析使得对程序行为的检查能够聚焦性能调整。剖析器是根据在程序执行期间收集的信息来生成程序剖析的自动化工具。剖析捕捉程序的行为特性。可从剖析标识程序的一个或多个部分作为优化的候选项。例如,剖析可以指示在执行特定的函数上花费了过量的时间。换言之,剖析有助于理解程序行为,以允许集中优化努力。剖析通常基于它们的收集数据的方法等来分类。存在两种不同类型的收集剖析数据的方法,即检测(instrumentat1n)和采样。在检测方法中,向程序添加在执行期间收集信息的代码。此处,被添加的代码是在程序执行时测量程序行为的工具。例如,可测量函数调用的频率和持续时间。在采样方法中,使用操作系统功能周期性地停止正在执行的程序并对该程序采样以确定执行的当前状态。因此,可以注意到,程序花费20%的时间执行特定的代码点。因此,采样方法提供统计近似,而非确切的数据。剖析数据通常被呈现为分解程序执行的调用树(也称为调用图)。例如,调用树可示出在程序中被遍历的函数执行路径。调用树的根节点可指向程序的入口点,并且树中的每个其他节点可标识被调用的函数以及性能数据,诸如被调用函数的执行时间。节点之间的边可表示函数调用,并且圈可指示递归调用。调用树可由开发者来分析,以标识程序热点,诸如占用一大部分执行时间的函数等。概述下面呈现了简化的
技术实现思路
,以便提供对所公开主题的某些方面的基本概念。本
技术实现思路
不是广泛性的概观。它并不旨在标识关键/重要元素,也不旨在划定所要求保护主题的范围。其唯一的目的是要以简化形式给出一些概念以为稍后给出的更加具体的说明之序。简言之,本专利技术涉及剖析数据的可视化。可以呈现一组一个或多个可视化以便利于使用要么实时要么历史剖析数据的程序性能分析。根据一个方面,可以呈现提供了不同类型的剖析数据的视图的多个相关的可视化。根据另一方面,一组可视化可以相对于逻辑分组的剖析数据操作以允许对程序执行的有意义的分析。在此,剖析数据可以被归结为例如基于组织方案来传达关于程序或子系统以及其他内容的高级语义函数的信息。还提供了机制以允许记录并回放剖析数据并控制其粒度或范围。而且,可视化可以提供基于指定的性能目标的反馈。为实现上述及相关目的,在此结合以下描述和附图描述了所要求保护主题的某些说明性方面。这些方面指示可实践本主题的各种方式,它们均落在所要求保护主题的范围之内。当结合附图阅读以下详细描述时,本专利技术的其他优点和新颖特征将变得显而易见。附图简述图1是可视化系统的框图。图2是代表性可视化引擎的框图。图3是一组剖析数据的可视化的示例性屏幕截图。图4是一组剖析数据的可视化的示例性屏幕截图。图5是剖析数据的报告可视化的示例性屏幕截图。图6是两个剖析数据的图表可视化的示例性屏幕截图。图7是剖析数据的表格可视化的示例性屏幕截图。图8是剖析数据的图表可视化的示例性屏幕截图。图9是剖析数据的图表可视化的两个示例性屏幕截图。图10是包括两个图表的剖析数据的可视化的示例性屏幕截图。图11是示例性的程序用户界面的屏幕截图。图12是程序剖析系统的框图。图13是程序剖析系统的框图。图14是代表性数据收集组件的框图。图15示出用于开始/停止事件对的数据收集。图16示出用于栈样本的数据收集。图17是程序剖析的方法的流程图。图18是分组剖析数据的方法的流程图。图19是可视化剖析数据的方法的流程图。图20是示出用于本公开各方面的合适的操作环境的示意性框图。详细描述剖析数据的可视化常规地受到几个问题的困扰。第一,数据是以太过粒度和抽象的方式来表示的。就是说,数据是以不能与用户的动作和/或有意义的程序执行语义(例如刷新窗口)相关联的时间标度来呈现的。导航以时间线呈现的完整的剖析会话因此变得困难或面对标识性能问题是无效的。第二,剖析器传统上针对历史信息操作。作为示例,可以开始一个程序,启动收集,训练程序,停止收集并后续分析所捕获的数据。虽然存在一些可以提供实时应用监视的性能工具,但是由于这些工具不能以灵活的方式来开始和停止、各种计数器不能彼此相关以及在所提供的分析和可视化方面存在受限的完善度,所以,它们受到很大限制。下述的细节通常针对以各种方式的剖析数据的可视化以便利于程序性能分析。根据一个方面,可以呈现提供了不同类型的剖析数据的视图的多个相关的可视化。根据一个特定实施例,剖析数据的至少一部分可以是逻辑上分组的剖析数据以允许对程序执行的有意义的分析。在此,剖析数据可以被归结为例如基于组织方案来传达关于程序或子系统以及其他内容的高级语义函数的信息。可视化还可以反映相对于指定的性能目标的剖析数据的状态,并且提供机制来允许记录和回放剖析数据并控制剖析数据的范围。在一个实例中,该组可视化可以随程序执行同时被呈现。或者,该组可视化可以在历史数据上操作。现在参考附图更详细地描述本专利技术的各个方面,在全部附图中用相似的标记来指示相似或相应的元素。然而应该理解,附图及其相关详细描述不旨在将所要求保护的主题限于所公开的具体形式。相反,其意图是覆盖落在所要求保护主题的精神和范围之内的所有修改、等价物和替换的方案。最初参考图1,示出了便利于经由可视化组和与其的用户交互的程序执行分析的可视化系统100。可视化系统100可以将任意收集和/或计算的剖析数据(又称程序-剖析数据)作为输入接受,并相对于其进行操作。而且,剖析数据可以是来自目前正在执行的程序实况流传送的实时数据或来自例如持久存储的日志所提供的历史数据。根据一个实施例,可视化系统100被配置为在逻辑上分组的剖析数据上接收或检索并操作。如下将进一步描述地,剖析数据可以被归结为根据组织方案的组,所述组织方案以独立于执行路径的方式定义了组以及组之间的关系。因此,剖析数据可以以逻辑上有意义的层级被显示,而不是以粒度函数层级被呈现。例如,剖析数据可以被归结为传送关于程序或其子系统的高级语义函数(例如打开文档、重新计算布局、在窗口中呈现内容……)的信息或在程序本身之外(例如项目人员)的信息以及其他内容的组。可视化系统100还可以被配置为响应于关于所提供的可视化或其他输出(例如文本、音频……)的用户输入。因此,可视化可以被更新以例如聚焦于用户感兴趣的特定数据段或特定粒度等级。还有,用户可以指定要被用于呈现数据的专用可视化并且组合一个或多个可视化等等。可视化系统100包括可视化引擎110、数据存储120、收集组件130、检索组件140以及条件组件150。可视化引擎110 (如在此所定义的也是一个组件)被配置为呈现一组一个或多个可视化。此处,呈现指的是将经编码的内容转换成用于显示的格式,或者生成具有稍后可在连接到计算机或其他基于处理器的设备的物理显示器(例如,LCD、触摸屏……)上呈现的显示格式的内容。可视化引擎支持各种类型的可视化或视觉内容,包括但不局限于,众多图表(例如线、条、饼…)、图像和文本内容以及其本文档来自技高网
...

【技术保护点】
一种可视化剖析数据的方法,包括:在计算设备的显示上呈现程序剖析数据的多个相关可视化,所述多个可视化提供了所述剖析数据的不同类型的视图,当获取所述剖析数据时所述视图被更新。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:M·C·范宁C·厄冈A·R·斯特兰德
申请(专利权)人:微软公司
类型:发明
国别省市:美国;US

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

1