JetBrains dotTrace 面向 .NET 应用提供性能与内存两个方向的剖析能力,由两个彼此独立的剖析器组成。其中 dotTrace Performance 着眼于函数层面的执行耗时、调用频次以及时间占比,用来帮助开发者找出 CPU 占用集中的位置和响应变慢的环节;dotTrace Memory 则把重点放在内存泄漏的排查与 GC 行为分析上,能够针对运行于 .NET 4.0 及以上框架的应用做堆快照比对,并追踪对象之间的引用路径。
JetBrains dotTrace 能附加到 IIS 站点、Windows 服务、Silverlight、WCF 以及桌面应用等不同形态的 .NET 进程上,通过采样或 Instrumentation 方式产出 .dtp 快照文件;它可以把分析结果直接定位到对应的源代码行,并支持在 Visual Studio 中打开编辑修改。工具还具备线程阻塞分析、过度 GC 归因和端口通信概览等能力,适合 .NET 开发者在性能优化与内存调优时使用。

v2026.2.2版本
错误修复和稳定性改进。
1、分析任何性能问题
通话执行耗时的精确数值可直接查看;时间线分析模式呈现的是同一组呼叫时间信息,只是将其挂载到时间线上。借助时间线数据,可以梳理事件先后顺序与性能问题之间的关联,例如界面卡死、垃圾回收频繁、工作负载分配不均、文件读写效率偏低等情况。
2、设置SQL查询与HTTP请求
分析特定查询对应用性能的影响,并查明该查询为何执行缓慢。对于从事Web应用开发的人员,需要弄清楚应用如何应对传入的HTTP请求。
3、解析各类 .NET 应用程序
无需搭建解决方案、运行分析器或构造使用场景,就能立刻拿到完整的性能分析数据。只要在待优化代码旁添加一个静态方法并完成配置即可。若项目中已有单元测试,dotTrace 通过几次点击就能对任意测试展开分析。dotTrace 还附带专用的 TeamCity 插件,可用于在 CI 服务器上配置集成测试,并阻止性能出现回退。
4、在 Visual Studio 中完成正确配置并查看分析结果
dotTrace 让你无需离开 IDE 就能完成性能分析:查看性能时间线、剖析调用堆栈,还能执行更多分析操作;甚至能从调用树中的热点直接跳转到对应的方法声明。
1、支持针对多种.NET应用程序开展分析工作
可针对基于.NET 1.0到4.0、Silverlight 4或.NET Compact Framework 3.5构建的应用程序开展性能分析。
2、在任意地方进行分析
在本地计算机或远程自动化设备端,用户均能对应用程序展开分析操作。
3、多种分析模式
常规模式支持快速分析,高精度追踪;逐行分析模式则用于处理复杂的商业逻辑。
4、简洁的数据呈现
用户能切换不同视图查看分析器梳理出的数据,这些数据会以快照形式呈现。
5、快速检测性能瓶颈
高效导航配合便捷的资源预览,加上简单易用的过滤条件和智能搜索功能,让查找过程更省心。
6、使用多标签
用户能够将某个特定调用单独置于一个标签页内查看,也可以把某一可疑函数的全部调用集中到同一标签中打开,从而细致地分析其性能表现。
7、注释快照
为已选中的函数添加一段说明文字,方便日后回看时快速了解它的作用。
8、性能目标评估
该工具能够立即测算出消除某个瓶颈点之后整体性能会受到多大影响,整个过程不必重新运算快照。
9、能够应对服务器级别的快照数据量
该工具具备对复杂桌面程序与服务器端应用进行分析的能力,并能应对数据量高达数百GB的快照文件。
10、速度以及准确性
dotTrace 向来以速度与精准度见长,在同类分析工具中表现突出。它提供了 7High Accuracy 模式,使用者可以开启该模式,对分析器自身消耗的时间进行测算。
11、可对接 Visual Studio 与 ReSharper
用户能够在 Visual Studio 2005、2008 或 2010 环境中直接对应用程序启动分析,还可借助函数快照在 Visual Studio 内跳转到对应的源文件;当它与 ReSharper 配合使用时,单元测试分析同样能快速完成。
1、汇总多种网络应用类型的基础说明
dotTrace 能帮你定位各类 .NET 应用中的性能瓶颈,覆盖范围包括桌面程序、.NET Core、ASP.NET、IIS 或 IIS Express Web 服务器、Silverlight、WCF 服务、Windows 服务、通用 Windows 平台应用,以及单元测试中的托管应用。
2、时间维度与更丰富的分析模式
与仅能测量方法调用耗时的“经典”性能分析不同,时间表分析能够呈现调用在时间上的分布情况。
该分析模式将方法调用数据整合进统一时间线,在检测速度上虽非最快,却能帮助定位事件顺序层面的性能问题,例如界面卡顿、垃圾回收过于频繁、工作负载分配不均以及文件读写效率偏低等情况。
不过,原有的分析方式在 dottrace 中依然保留着。若只想快速了解应用的整体性能表现,采样分析是最省事的途径;当需要深入探究某个具体算法内部如何运作时,追踪模式与逐行分析模式则更为合适。
3、新的分析经验
切割剖面数据时,可借助过滤器、调用树或图形来完成操作。过滤器的作用在于按特定条件筛选出一组间隔时间,其运行机制类似于在数据库中执行查询,从而精准定位所需的数据。
举例来说,若想确认某次界面卡顿是否由垃圾回收阻塞所致,可在 dottrace 中筛选出界面冻结发生的全部时间段,并查看主线程在此期间是否出现阻塞。听起来有些复杂,实际上这组筛选条件的切换只需两次点击即可完成。
4、与 Visual Studio 深度集成
dotTrace 与 Visual Studio 紧密协作,让开发者无需离开当前 IDE 即可启动应用分析流程。更进一步,时间分析的结果也能直接在 Visual Studio 中查看与解读。若在调用树中发现某个热点调用,可立刻跳转到对应的方法声明处。
与 Visual Studio 的集成让分析过程衔接得更加顺畅,你无需再于 IDE 和分析器之间来回切换。
5、简介异步调用
dotTrace 能帮你轻松梳理异步代码:所有组件的异步调用都集中呈现在同一处,无需再辗转于不同调用堆栈之间逐一查找。
6、简介静态方法
dotTrace 能帮你在代码中即时剖析任意静态方法:把光标放到目标方法上,按 Alt+Enter,然后在操作列表里选择“调试 | 简介”即可。
不妨设想:这项能力确实可行。你无需搭建独立方案,也无需在分析器里运行、或按使用场景去执行新代码,便可在代码文件的任意位置直接写入,权限完全在你手中。
7、简介远程应用程序
不少场景下,应用是装在本机跑的。可要是碰上老旧的程序,只能架在远端 Web 服务器上,又该怎么处理呢?
dotTrace 支持连接到远程计算机,对独立的应用程序、Web 应用或 Windows 服务进行配置。目标机器上无需安装 dotTrace,只需复制少量文件即可完成部署。
8、接入已启动的应用程序
dotTrace 支持对运行中的应用程序执行附加操作并展开分析,剖面数据能够被迅速分离出来。
在运行分析器应用时,这种设计把额外开销压到了很低的程度。更关键的一点在于,它让生产环境中的性能问题排查变得可行,你不需要每次都先配置好再启动应用。
9、配置单元测试
装了 ReSharper 之后,在 Visual Studio 里分析单元测试就变得很省事,代码编辑器或 ReSharper 的单元测试窗口都能直接发起分析。
即便本机未安装 ReSharper,你依然可以配置 NUnit、xUnit 或 MSTest 作为本地单元测试的运行支持。
10、排查响应迟缓的HTTP请求
在分析时间快照时,你可以筛选出 Web 应用传入 HTTP 请求所对应的时间间隔。借此获取准确数据,定位准确的根本原因,并找到让运行缓慢问题归零的方法,使 Web 应用的时间表分析更快。
11、诊断执行效率偏低的SQL查询
把每个具体查询放到时间线视图中逐段剖析,就能看清它对应用性能造成了哪些影响。系统会将所有 SQL 语句与 SQL 连接筛选出来,并同步呈现各自的性能统计数据。
查询结果可以单独开一个窗口查看,便于后续进一步分析。你依然能选中一条或多条查询记录,通过了解它们的执行方式来筛选全部数据。
无效的 SQL 查询不再出现。
12、性能分析工具包
Profiling SDK 提供编程接口,让你通过代码自行决定何时开启或结束分析会话,并完成分析数据的采集、快照保存等操作。
这一设计带来两种有价值的使用方式。其一,借助 SDK 可以限定分析范围,挑选出代码中的特定部分进行考察;其二,则面向应用自身的监测场景:你能够采集统计数据,用以呈现应用在终端用户设备上的实际运行表现。
13、持续集成的支持
dotTrace 附带的命令行工具能够自动采集剖面快照,若要将连续谱的整合部分构建起来,这一功能不可或缺。
若你的持续集成服务器选用 JetBrains TeamCity,请记得为它装上 dotTrace 插件。该插件用于回归分析整合,帮助守住应用程序的性能表现。你只需设定一个测试执行时间阈值,一旦超出,插件便会自动采集性能快照并判定失败。
14、性能增益的估计
在优化一个耗时函数的过程中,开发者有时会回过头去审视自己的优化究竟产生了什么实际效果。
dottrace 里有个挺实用的思路:你不需要改动应用本身的安排,就能在快照那一刻重新推算所有功能的时间。操作上只需给某个函数或某个类的全部功能设定新的时间值,整个快照的时间数据会随之重新计算。这相当于向探查器抛出一个假设——“如果把这个功能优化 40% 会怎样?”
15、比较快照
该功能可对两个性能表现一致的应用程序快照进行对比,由此揭示各项功能在通话次数上的消耗差异;对比结果支持以查看和分析常规性能快照的相同方式来处理。
(您的评论需要经过审核才能显示)
0条评论