分析工具报告概述
可以查看性能会话的分析数据在 Visual Studio Team System 开发编辑集成开发环境 (IDE) 的 性能报告 窗口中。分析数据保存在 .vsp 和 .vsps 文件中。通过报告视图窗口,您可以查看和分析应用程序性能问题。
警告 |
---|
分析数据文件包含有敏感信息,如计算机名称、操作系统的版本、文件路径、内存信息以及其他计算机设置信息。应总是对数据的分发进行严格的控制,无论分发时采用的是其固有的 .vsp 格式,还是导出为 .csv 或 .xml 文件,都应如此。 如果事件跟踪数据作为性能会话的一部分收集,附加信息可能出现在事件跟踪日志 (.etl) 文件中。此信息包括您的域名和用户名;因此您应当对日志文件的分发保持严格控制。 |
“性能报告”窗口
“性能报告”窗口是一个工具窗口,用于查看、管理和筛选性能数据以及包含可自定义的查询控件。
在“性能报告”窗口的主工具栏上,您可以访问每个视图。单击**“当前视图”**列表旁边的箭头可显示和选择可用的各个视图。
“性能报告”窗口提供以下数据视图:
“摘要”视图
默认情况下,分析数据显示在“摘要”视图中。此视图是您调查性能问题的起点。对于“摘要”视图中的每行,您可以通过右击函数名或模块名移动到更详细的视图。有关更多信息,请参见“摘要”视图。
“调用方/被调用方”视图
“调用方/被调用方”视图显示单个函数的调用关系树。此视图分为三个部分:
目标函数显示在视图的中间。
调用函数的函数(调用方)显示在目标函数的上方。
被目标函数调用的函数(被调用方)显示在目标函数的下方。
您可以通过双击调用方列表或被调用方列表中的任意函数选择另一个函数。有关更多信息,请参见“调用方/被调用方”视图。
“调用关系树”视图
“调用关系树”视图显示遍历所分析的应用程序的函数执行路径。关系树的根是应用程序或组件的入口点。每个函数节点都列出它调用的所有函数以及有关这些函数调用的性能数据。
“调用关系树”视图还可以展开和突出显示消耗时间最多或采样频率最高的函数的执行路径。若要显示最活跃的路径,请右击该函数,再单击**“展开热路径”**。有关更多信息,请参见“调用关系树”视图。
“进程”视图
“进程”视图显示分析的每个进程和线程的性能数据。有关更多信息,请参见“进程”视图。
“模块”视图
“模块”视图列出项目中的模块并显示每个模块的分析数据。展开或折叠模块名称可显示函数分析数据。使用采样收集数据时,源代码行和指令指针分析数据也可用。有关更多信息,请参见“模块”视图。
“函数”视图
“函数”视图列出分析期间调用的函数。有关更多信息,请参见“函数”视图。
“行”视图
使用“行”视图,可以查看在采样分析期间执行的特定源代码行。有关更多信息,请参见“行”视图。
指令指针 (IP) 视图
使用“指令指针”视图,可以查看在采样分析期间执行的特定指令。有关更多信息,请参见“指令指针”(IP) 视图。
“分配”视图
如果在**“性能会话”属性对话框的“常规”页上选择了“收集 .NET 对象分配”,则“分配”视图可用。请参见分析工具性能会话概述。“分配”视图列出了由应用程序或组件分配的 .NET 对象。展开某个对象行时,将显示一个调用关系树。该调用关系树显示导致创建该对象的执行路径。还显示有关该调用关系树中每个函数的非独占和独占分配数的信息。“分配”视图还可以展开和突出显示分配最大数量的对象的函数的执行路径。若要显示最活跃的路径,请右击该函数,再单击“展开热路径”**。有关更多信息,请参见收集 .NET 内存分配数据和生存期数据和.NET 内存分配视图。
“对象生存期”视图
如果在**“性能会话”属性对话框的“常规”页上选择了“收集 .NET 对象分配信息”和“同时收集 .NET 对象的生存期信息”**,则“对象生存期”视图可用。
“对象生存期”视图显示每种类型的实例总数,以及在每个垃圾回收代中收集的对象数。有关更多信息,请参见“对象生存期”视图。
可自定义筛选器控件
可自定义筛选器控件具有以下选项:
导入筛选器 - 检索以前保存的自定义查询。
导出筛选器 - 将自定义查询保存到指定的位置。
执行查询 - 运行自定义查询控件中显示的查询。
停止查询 - 停止执行正在运行的查询。如果没有查询在运行,该按钮不可用。
显示查询 - 显示/隐藏自定义查询控件。
保存分析结果 - 将报告及其当前分析另存为 .vsps 文件。
导出 - 将当前报告保存为 .CVS 或 .XML 格式的文件,可以选择保存不同的视图。