前言
Windows Performance Analyzer (Windows性能分析器)是一套功能强大的性能检测工具。我们经常在开发过程中,用它来检测产品的性能;通过与其它工具整合使用,它也很容易被用来作为自动监测软件性能系统的关键部件;对于开发人员来说,它还是一个有效的性能调试工具。
很多人认为Windows性能分析器是用来检测操作系统性能的,其实它的作用不至于此。对于任何一个基于Windows操作系统的应用程序来说,只要程序中嵌入了基于ETW的事件,Windows性能分析器就能对其进行性能检测。换句话说,您可以用它来检测和调试自己程序的性能。
还有非常重要的一点,它是免费的!!您可以点击免费下载{zx1}版的Windows性能分析器。另外,Windows SDK中也包含该工具。
我们希望通过翻译上的Windows性能分析器系列文章让更多人了解、使用这一工具。
译者:张昕毅、焦桢
微软亚太研发集团服务器与开发工具事业部(中国)
一、Windows性能分析器简介
Windows性能分析器(简称WPA)是一套功能强大的程序,它能够察看系统和应用程序的行为和资源使用情况。WPA可以用来检查一些性能问题,并获得资源的使用信息。开发人员可以使用WPA更加方便地检测并解决性能问题。
WPA使用Windows事件追踪(ETW)来收集性能和系统信息。ETW是一种开销很小的性能测试辅助工具,它建立在操作系统之上,任何运行在Windows系统上的应用程序也可以使用它。Windows Vista和Windows Server 2008提供了几百个ETW事件,通过在运行时抓取这些事件,可以获得很多信息。微软支持ETW,并提供了很多相关文档。我们鼓励开发人员和架构师在新开发的程序中使用ETW,这样WPA就能在这些程序上发挥{zd0}的作用。有关ETW的信息请查看本系列第三部分的”Windows事件追踪”部分。
WPA提供3种形式的数据:
- 图表的x轴表示时间,y轴表示捕获的事件信息。
- 追踪活动生成的多组数据将生成多个图表。一条追踪活动的多个图表上的时间轴保持一致。
- 图表中的选定部分可以被放大,这样可以查看更详细的追踪信息。比如,如果一个CPU样本图表显示了一小段时间内的所有活动,用户可以放大其中一块来查看一些异常行为。放大以后用户可以确定是哪个线程或者进程导致了这些异常行为。
- 因为一个集合内的所有图表都是相连的,所以用户可以放大所有图表内选定的一个时间段,这样就能够查看这个时间段内所有的相关活动。
- 为了获得系统活动的宏观信息,图表可以被覆盖或者合并。任何时候用户想返回原始的图表信息,只需要选择“zooming out”即可。
- 关于图表的更多信息,请查看(英文)。
- 摘要表格
- 摘要表格的行表示时间,列表示捕获的事件信息。
- 用户可以在表格内显示,隐藏或者调整数据列的位置。
- 摘要表格还提供排序和聚合功能。
- 摘要表格可以利用符号信息用来显示调用堆栈。
- 关于摘要表格的更多信息,请查看(英文)。
- 文本和自定义格式文件
- 自定义文件格式可以用作特定环境下的性能评测。
- 从WPA捕获的事件信息可以放在各种文件格式中作为输出,比如ASCII或者CSV文件。
- 使用语法可以将调用堆栈数据放入输出文件。
- 关于生成自定义文件输出的更多信息,请查看(英文)。
其他WPA特性:
- 查看调用堆栈-通过WPA,内核可以在事件生成时捕获调用堆栈。生成的事件和相关堆栈信息可以保存在追踪文件中。当堆栈和符号信息结合时,你就可以查看堆栈信息了。
- WPA可以用作脚本操作,也能通过命令行操作。通过脚本,WPA可以自动捕获实时性能信息。
- WPA事件追踪功能可以在任何时候开启和关闭,不需要系统或者进程重启。这个功能在实时用户环境收集信息的情况下非常有用。
- 当追踪信息被捕获时,这个数据可以由本机处理,也可以复制到另外一台机器。比如Windows Server 2008上生成的追踪数据可以在Windows Vista机器上分析。
以上文章基于翻译。
posted on 2010-07-01 09:34 阅读(936) 所属分类: , ,