生产厂商:JetBrains产品类别:开发工具
优化.NET应用程序
dotTrace可以帮助您检测各种.NET和 .NET Core 应用程序的性能瓶颈:WPF与通用Windows平台、ASP.NET、Windows服务、WCF服务和单元测试。还支持Mono和Unity应用程序。
分析任何性能问题
获取调用执行时间的准确数据。在Timeline分析模式中,获取相同的调用时间数据,但绑定到时间线。使用时间线数据来分析事件顺序至关重要的性能问题,例如,UI死机、过度垃圾回收、工作负载分布不平衡、低效的文件I/O等。
分析SQL查询和 HTTP请求
发现特定查询如何影响应用程序性能,以及此查询运行缓慢的原因。
如果您开发Web应用程序,了解它如何处理传入HTTP请求。
分析静态方法和单元测试
您可以立即获取全面的分析数据,无需生成解决方案,运行分析器并执行使用场景。只需添加一个静态方法和要优化的代码,即可分析!
如果您在项目中使用单元测试,dotTrace可以帮助您只需几下点击即可分析任何测试。此外,dotTrace还提供了专门的TeamCity插件,您可以使用此插件在CI服务器上分析集成测试,并防止性能下降。
直接在Visual Studio中分析结果
借助dotTrace,无需离开IDE即可查看性能时间线,分析调用堆栈以及执行更多分析操作。
您甚至可以从调用树中的热点导航到方法声明!
属于RESHARPER ULTIMATE
ReSharper Ultimate:一个许可证包含一套.NET工具和ReSharper C++
ReSharper Ultimate是一种包含各个JetBrains .NET工具和ReSharper C++的许可证。
每个ReSharper Ultimate许可证允许一名开发者使用ReSharper、ReSharper C++、dotCover、dotTrace和dotMemory。
dotTrace功能
dotTrace是一款 .NET应用程序性能分析器,可以直接在 VisualStudio/JetBrainsRider 中运行,并提供检测和分析性能瓶颈的出色方式。阅读以获得更多详细信息。
分析所有类型的.NET应用程序
dotTrace可以帮助您分析各种.NET应用程序的性能瓶颈,包括桌面应用程序、.NET Core、托管在IIS或IIS Express web服务器上的ASP.NET应用程序、Mono与Unity应用程序、WCF服务、Windows服务、通用Windows平台应用程序和单元测试。
在Windows、macOS和Linux上运行
dotTrace支持针对.NET Framework1.0-4.7、.NET Core1.0-3.0、Mono 5.10或更高版本以及Unity2018.3或更高版本的项目。在macOS和Linux上,dotTrace只能作为 JetBrains Rider 的一部分或命令行分析器使用。
Timeline和更多分析模式
不同于“经典的”性能分析只衡量调用执行时间,Timeline 分析可以揭示调用的时间分布。
通过将方法调用数据绑定到时间线,此分析模式远不止仅检测最慢的方法:它可以诊断事件顺序至关重要的性能问题,例如,UI死机、过度垃圾回收、工作负载分布不平衡、低效的文件I/O等。
不过,dotTrace仍可使用传统的分析模式。 Sampling 分析是评估应用程序整体性能的最简单方法,而 Tracing 和 Line-by-line 分析模式则非常适用于需要详细了解特定算法内部运行效果的情况。
全新的分析体验
您可以使用筛选器、调用树或图表划分分析数据。通过应用筛选器,您可以获得由特定条件选择的一组时间间隔。其运作方式非常类似于在数据库上执行查询来获得恰好需要的数据。
例如,要查找是否因阻塞垃圾回收导致UI死机,您可以要求dotTrace 在主线程上选择发生UI死机且执行了阻塞垃圾回收的所有时间间隔。虽然听起来很复杂,但实际上只需点击两下即可切换这个筛选器组合。
Visual Studio/Rider深度集成
dotTrace与VisualStudio/JetBrains Rider深度集成,帮助您无需离开IDE即可开始分析当前开发的应用程序。您现在甚至可以直接在IDE中查看和分析Timeline分析结果。在调用树中发现了热点调用?立即导航到方法声明!
Visual Studio/JetBrains Rider集成使分析体验几乎无缝,因为您不再需要在IDE和分析器之间切换。
分析异步调用
dotTrace使您可以轻松分析异步代码:async 调用的所有“部分”都在一个地方显示,因此您不必在不同的调用堆栈中搜索它们。
分析静态方法
dotTrace使您可以即时分析代码中的任何静态方法。只需将脱字符号放在方法上,按 Alt+Enter,并从操作列表中选择 Debug | Profile。
试想一下这个功能可以做什么。您可以在编写完代码后就地分析代码的任何部分!无需生成解决方案,在分析器中运行,执行运行新代码的用法场景,等等。
分析远程应用程序
大多数情况下,您需要分析本地运行的应用程序。但如果您面临远程web服务器上的滞后应用程序呢?
dotTrace可以连接到远程计算机来分析独立或web应用程序,或Windows服务。您甚至无需在远程计算机上安装dotTrace:只需复制几个文件即可。
连接到运行中的应用程序
dotTrace可以连接到运行中的应用程序来执行分析,并在捕获分析数据后立即分离。
这样就最大程度地减少了在分析器下运行应用程序带来的开销。更重要的是,如果您无法承受每次需要分析就重启应用程序,它可以在生产环境中调查性能问题。
分析单元测试
如果您有VisualStudio + ReSharper*捆绑包或JetBrains Rider**,可以从代码编辑器或单元测试运行程序轻松地开始分析单元测试。
*即使没安装ReSharper,您仍然可以分析NUnit、MSTest或xUnit提供的原生单元测试运行程序。
**只有“ReSharperUltimate + Rider”或“AllProducts Pack”许可证的所有者可以使用分析功能。
分析缓慢的HTTP请求
分析Timeline分析快照时,您可以筛选web应用程序处理传入HTTP请求的时间间隔。获得确切的数据,确定确切的根本原因,并将运行缓慢的方法调整归零。通过Timeline分析加快web应用程序。
分析缓慢的SQL查询
使用Timeline分析了解每条查询如何影响应用程序性能。 SQL Queries 筛选器可以显示所有SQL查询和SQL连接及其性能统计数据。
为方便起见,可以在单独的窗口中打开查询内容,进行深入分析。您仍可以通过选择一条或多条查询来筛选所有数据,并调查执行它们的方法。
再也没有低效的SQL查询!
Profiling SDK
Profiling SDK 使您可以直接从代码中控制分析会话:以编程方式开始和停止收集分析数据,保存收集的快照,等等。
这样可以实现两个有价值的使用场景。首先,您可以使用SDK来缩小分析范围,并选择分析哪部分代码。第二个使用场景是自分析应用程序:您可以收集统计数据,显示您的应用程序在终端用户计算机上的行为。
持续集成支持
dotTrace附带命令行分析工具,可用于自动收集分析快照,如果您希望分析成为您的持续集成生成的一部分,此快照将非常有用。
如果您将JetBrains TeamCity用作CI服务器,请确保将dotTrace插件安装到TeamCity。该插件通过分析集成测试帮助您防止应用程序性能退化。您只需设置测试执行时间的阈值,如果超过阈值,该插件将自动抓取性能快照并让测试失败。
估计性能增益
有时,花数小时优化一个费时间的函数后,开发者必须从头开始分析以查看优化是否真的有效。
这对dotTrace而言不成问题。性能分析器可以根据您设置的时间调整,立即重新计算快照中的所有函数时间,无需重新分析您的应用程序。就像询问分析器:“如果我将此函数优化40%怎么样?”只需为某个函数或特定类中的所有函数指定新时间。将重新计算整个快照的时间值。
比较快照
dotTrace可以比较同一应用程序的任意两个性能快照。它会生成比较快照,其中将显示每个函数的调用次数和消耗时间的差异。可以像普通性能快照一样查看和分析比较快照。