dotTrace是JetBrains公司旗下的一款.NET应用程序性能瓶颈检测工具。该工具是ReSharper旗舰版的一部分,也可以单独安装。近日,dotTrace 6.1发布,主要增加了人们期待已久的SQL查询性能分析,开发人员可以通过它获得特定查询的执行时间以及运行该查询的方法。该功能有如下特点:
\\- 只能在时间线性能分析模式下进行;\\t
- 既可以分析独立应用程序的性能,也可以附加到一个已经运行着的进程上;\\t
- 支持SQLClient、OLE DB、Entity Framework和ODBC等数据提供程序;\\t
- 使用ETW收集SQL事件,实现性能分析开销最小化。\
下面让我们看一下dotTrace 6.1如何帮助开发人员理解SQL查询对应用程序性能的影响。
\\在界面上,dotTrace 6.1唯一的变化是在“时间线查看器(Timeline Viewer)”的“间隔过滤器(Interval Filters)”中增加了SQL Client,如下图所示:
\\\\SQL Client事件指示了应用程序与SQL服务器的通信时长,也就是客户端发出请求到收到响应的时间间隔,其中包括打开/关闭连接、运行查询及其它SQL活动的时间,如下图所示:
\\\\从上图可以看出,SQL Client包含两个子过滤器SQL Client:Connection String 和SQL Client:Command,其中前者适用于应用程序使用多个SQL连接的情况,后者列出了不同查询耗费的时间。
\\当SQL语句比较长时,开发人员可以打开SQL查询窗口进行查看,如下图所示:
\\\\双击特定的SQL会打开其它所有的过滤器,包括“调用栈(Call Stack)”,如下图所示:
\\\\其中,“上层方法(Top Methods)”列出了该语句在不同方法中执行时耗费的时间。选定一个特定的方法,源代码就会显示在“源代码查看器(Source View)”中,如下图所示:
\\\\感兴趣的读者可以下载试用,免费试用期为10天。需要注意的是,dotTrace 6.1支持Visual Studio 2015、2013、2012和2010,但与Visual Studio中集成的ReSharper 8.x、dotCover 2.x、dotMemory 4.1或更低版本不兼容。安装dotTrace 6.1会从Visual Studio中删除旧版本的JetBrains .NET工具。
\\感谢徐川对本文的审校。
\\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群)。