- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AQTime使用指南
AQTime使用指南
AQTime是AutomatedQA公司开发的一个Code Profiler工具,功能非常强大,是Sys-Con Magzine 2004 Readers Choice ,Code Profiler for .net类的冠军得主。
一个简单示例
启动AQTime,选择File|New Project,然后在Setup页签从右键菜单中选Add Module。
加入一个要准备进行分析的可执行程序,然后选Run:
弹出的界面不用更改,继续选Run:
程序执行完毕退出后,AQTime中就能看到本次运行的统计结果了:
界面下方有多个分析视图:
配置AQTime
控制分析范围
AQTime缺省会分析所有.net代码,如果想控制分析范围,主要有两种方式。
使用EnvironmentOptions
从该对话框中选中Exclude routines with no source info。这将控制AQTime只分析哪些带有pdb文件且pdb文件包含了源代码信息的程序集。
这是一个比较方便的选项,一般情况下用这个选项效果就可以了。注意,该选项仅当Setup页签上的Profile Entire .NET Code by Routines选项关闭时才起作用。
使用Area
而如果要想控制任意精细的程度,则需要用到Area。首先,要先Add一个Area:
Add了Area后,再定义哪些代码归入到这个Area中。可以从Modules列表中把项目拖过来,也可以从右键菜单中选Add Seleted to Area:
例如我们想分析UBF持久化相关代码,可以先把相关的dll添加到了Modules列表中,然后Add到刚才创建的Area中。
这里既可以选择整个dll,也可以选择其中的具体类型,甚至是某个方法,粒度可以非常细。Area分Including和Excluding两类,某些代码不想Profiler的话,可以把它扔到一个Excluding的Area中去。根据需要,可以建立任意多个Area。
控制分析粒度
由Area的Level属性决定,一般选择Routine,统计到方法级;选Line会到代码级,AQTime会给出每一行的执行情况,但这会使Profiler运行过程变得较慢。一般的技巧是大致确定问题范围后,再使用Line级详细跟踪分析。
控制分析过程
AQTime缺省会分析整个程序运行的过程。如果想分析某个时间段的执行状况(例如分析某对话框的某个按钮按下时的执行状况),可以通过关闭及开启Profiling来实现。
在Run命令运行前,先选择Disable Profiling按钮,关闭AQTime的统计跟踪功能:
当该对话框打开,准备按下按钮前,打开AQTime的统计跟踪功能:
按钮对应的功能执行完成后,按下Get Results按钮取这段时间的运行结果:
分析运行结果
Report列表
这个列表给出了各个方法的执行情况统计。可以对列表按列排序,可以做分组,可以指定显示哪些列等:
可以过滤:
还可以把感兴趣的方法加入到Area中,以便进一步分析:
Editor/Disassembler
源码或IL代码中可直接看到执行情况。
Details
看到某一方法调用的子方法情况和调用它的父方法情况。
Call Graph
图形方式展现的调用链。
Call Tree
树状展现,会自动把子方法中消耗最大的提前。双击可将选中的方法置顶。这个分析视图最为有用。
Results View
使用More than 3%方式,能帮助快速过滤出主要可能存在问题的方法。
主要的统计项目
Time
方法自身消耗时间
Time with Children
方法自身及其调用的子方法合计消耗时间
HitCount
方法调用次数
First Time
方法首次调用时,自身消耗时间
First Time with Children
方法首次调用时,自身及其调用的子方法合计消耗时间
Average Time
方法自身消耗时间的平均值
Average Time with Children
方法自身及其调用的子方法合计消耗时间的平均值
Shared Time
这是Time占Time with Children的比率
一般会主要关注Time with Children和HitCount,再配合Time和First Time with Children。部分方法属于单例方法和带缓存能力,观察First Time with Children这个统计项可以明确其效果。
其它
多种profiler方式
除性能分析外,还支持内存分配分析、代码覆盖率分析、静态分析等方式。
时间刻度可调
Summary页面
这里也可以帮您快速定位可能有性能问题的方法
集成到Vstudio中
安装AQTime后,Vstu
文档评论(0)