dotTrace 最新变化

本页将介绍 dotTrace 近期版本中值得注意的更新。 亮点包括对 Visual Studio/JetBrains Rider 的支持和简化的异步代码分析。

下载 dotTrace

可免费试用 30 天

对 MAUI 应用程序的支持

对 MAUI 应用程序的支持 2024.1

现在,您可以分析基于 MAUI 框架的应用程序。

目前,dotTrace 支持:

  • macOS – 以 .NET 7.0+ 为目标的 Mac Catalyst 应用程序, 仅时间线分析。
  • Windows – 以 .NET 7.0+ 为目标的 WinUI 应用程序。 支持所有分析类型。 只有时间线和采样类型支持附加到已在运行的应用程序。

支持适用于独立 dotTrace 以及集成到 Rider 和 ReSharper 中的 dotTrace。

分析预设

分析预设 2024.1

dotTrace 现在包括用户界面 (UI) 预设。 预设将调整 UI,仅显示与特定应用程序相关的分析设置:General(常规 – 所有应用类型)、Unity developer(Unity 开发者)和 Unreal Engine developer(Unreal Engine 开发者)。

对 macOS 的改进支持 2024.1

我们改进了 macOS 上的分析:

  • 现在,dotTrace 的独立版本允许您指定应用程序包 (.app) 而不是可执行文件。
  • Rider 中的 dotTrace 可以分析 macOS 运行配置。 支持以下目标框架:net7.0-macosnet8.0-macosnet7.0-maccatalystnet8.0-maccatalystXamarin.Mac
改进的 Timeline(时间线)分析模式配置

改进的 Timeline(时间线)分析模式配置 2023.3

现在,在配置 Timeline(时间线)分析会话时,可以指定以下高级选项:

  • Sampling rate(采样率)– 让您在所分析应用程序的性能与数据准确性之间找到最佳平衡。
  • 适用于原生分配的 Sample allocations every … KB(每 … KB 对分配采样)– 通过减少收集的数据量(即快照大小)帮助您提高快照分析性能。
  • Download in background(在后台下载)选项(适用于原生符号文件)– 在分析会话期间下载符号文件。
Source(源)视图中的分析数据

Source(源)视图中的分析数据 2023.3

现在,您可以直接在源代码中查看性能分析数据,无需分析 Call Tree(调用树)。 Source(源)视图显示特定代码行的时间分布信息。 截至目前,此功能仅适用于在 Windows 上获取的时间线快照。

改进的原生代码分析 2023.3

  • 对于在 Windows 上获取的时间线快照,现在可以查看原生方法的源代码。
  • 现在,如果没有托管线程,默认显示原生线程。

其他改进 2023.3

  • 时间线分析模式现在支持 .NET 和 .NET Core 框架的 System.Data.SqlClient 数据提供程序。 您可以在 SQL 查询筛选器中查看相应的事件。
  • 您现在可以在 dotTrace 查看器的搜索窗口中查看性能指标。
  • 现在可以在 Linux 和 macOS 上与第三方工具集成

为采样、跟踪和逐行快照按线程分组 2023.2

现在,Call Tree(调用树)视图能够按各个线程对调用堆栈分组,让您可以更深入地了解线程特定的性能问题。

Linux 和 macOS 上的 Source View(源视图)工具窗口 2023.2

Linux 和 macOS 上的独立版本 dotTrace 获得 Source View(源视图)窗口。 在 Call Tree(调用树)中选择调用后,Source View(源视图)将显示相应方法的源代码。

其他改进和 bug 修正 2023.2

  • 对于时间线快照,dotTrace 查看器现在将显示原生线程的名称,而不是将其全部显示为 Native(原生)。 这个功能适合 Unity 开发者,让他们可以区分特定 Unity 线程。 仅适用于 Windows。
  • dotTrace 查看器中的 Source View(源视图)窗口现在将显示每行代码的调用次数。

适用于 macOS 和 Linux 的 dotTrace 测试版 2023.1

独立版本的 dotTrace 现已登陆 Linux 和 macOS。 现在,您可以在这些操作系统上执行完整的分析工作流,包括收集和分析性能快照。

对 Windows ARM64 的支持 2022.3

现在,您可以在 ARM64 CPU 版本的 Windows 上使用 dotTrace。 这适用于所有版本:独立版 dotTrace、Rider 中的 dotTrace、Visual Studio 中的 dotTrace 和 dotTrace 命令行工具。

对 Linux ARM32 的支持 2022.3

您现在可以在 ARM32 CPU 版本的 Linux 上运行 dotTrace 命令行分析器。 支持的框架为 .NET Core 3.1 和 .NET 5.0–7.0。 请注意,只有 .NET 6.0 应用程序支持时间线分析类型。

放弃 Performance Viewer 2022.3

在此版本之前,采样、跟踪和逐行性能快照必须在较旧版 Performance Viewer 中打开,而时间线快照则在更现代的 Timeline Viewer 中打开。 这有损整体用户体验,因为查看器具有不同的用户界面和快照分析方式。

现在,我们放弃了 Performance Viewer,改用 dotTrace Viewer(以前为 Timeline Viewer)。 dotTrace 将使用它打开所有类型的快照。 但是,您仍然可以继续使用已停止支持的 Performance Viewer。 如果您选择继续使用 Performance Viewer,我们很想听听您的理由。 非常感谢您的反馈!

快照分析的改进 2022.3

由于 dotTrace Viewer 现在可以打开所有类型的快照,您可以在比较性能快照时使用其强大功能:

  • 新的“作为筛选器的比较”概念使采样、跟踪和逐行快照的比较更加简单。
  • 现在,您可以在采样、跟踪和逐行快照中筛选子系统。
  • dotTrace Viewer 现在具有 Plain List(普通列表)视图。 它可以用于采样、跟踪和逐行快照,也可以用于时间线快照。

对原生系统调用的改进支持 2022.2

现在,dotTrace 在 Timeline Call Tree(时间线调用树)中提供原生系统调用的更多详细信息,包括 Windows 内核调用 (ntoskrnl.exe)、设备驱动程序调用 (*.sys) 等。

JetBrains Rider 中 dotTrace 的改进 2022.2

您不再需要重新启动 Unity Editor 来启动分析进程。 分析器现在可以附加到或脱离正在运行的 Unity 进程。

对基于 musl 的 Linux 发行版的支持 2022.1

Rider 中的 dotTrace 命令行工具和 dotTrace 现在支持 Alpine 版本 3.13–3.15。 支持以下 CPU 和框架:

  • x64:.NET Core 3.1、.NET 5.0–6.0。
  • arm64:.NET 5.0–6.0。

对 .NET Core NetTrace 文件格式的支持 2022.1

进入 dotTrace Home(首页)菜单,点击 Open Snapshot(打开快照),选择 .nettrace 文件,即可打开以 dotnet-trace collect: 收集的 NetTrace 文件。

改进了对 SQL Server 事件的支持 2022.1

dotTrace 将在 Windows(.NET Core、.NET 5+)以及 macOS 和 Linux(.NET Core 3.0+、.NET 5+)上支持来自 Microsoft.Data.SqlClient 提供程序的 SQL Server 事件。

dotTrace Home(首页)中的键盘导航 2022.1

您现在可以仅使用键盘组合浏览 dotTrace Home(首页)窗口。 不需要鼠标。 每个 UI 元素都已被分配给一个键或键序列。 可以通过两种方式查看分配的键并与 UI 元素交互:

  • 按住 Alt 并按一个键或键序列(默认)。
  • 按模式切换键,然后按一个键或键序列。

您可以在 dotTrace Home | Settings(首页 | 设置)中进行选择。

通过拖放附加到应用程序 2022.1

现在,将特殊图标拖到应用程序窗口上,即可将分析器附加到正在运行的应用程序。

改进了 dotTrace Home(主页)窗口中的 Snapshots(快照)页面 2022.1

  • 您现在可以编辑快照的名称。
  • 您现在可以将文件拖动到 dotTrace Home(首页)窗口上打开快照。
  • 快照列表将保留 dotTrace 启动之间的排序状态。
  • 快照列表现在使用系统日期格式。

其他改进 2022.1

  • 您现在可以禁用快照自动保存。 禁用后,关闭 Timeline(时间线)或 Performance Viewer(性能查看器)时,dotTrace 会询问是否要保存收集的快照。
  • 现在可以在 Timeline Viewer(时间线查看器)的 Threads(线程)筛选器中固定线程。
  • Configuration2Xml 工具现在的 UI 与 dotTrace Home window(首页)窗口相同。

对 Apple 芯片处理器的支持 2021.3

dotTrace 命令行工具现在可以在配备 Apple 芯片处理器的计算机上运行。 您可以使用它分析 .NET 6 应用程序(原生模式)和 .NET 5 应用程序(Rosetta 2 模式)。

性能改进 2021.3

  • 我们在大量使用异步调用的应用程序上减少了 Timeline(时间线)分析的性能开销。
  • 我们改进了在 Timeline(时间线)快照中打开和筛选的性能。

保存 Timeline(时间线)快照的 UI 状态 2021.3

关闭 Timeline(时间线)快照时,dotTrace 会保存用户界面的状态,包括所选时间间隔、应用的筛选器等。 下次打开快照时,dotTrace 会将 UI 恢复到相同状态。

在 macOS 和 Linux 上对 TPL 的支持 2021.3

Rider 中的 dotTrace 命令行工具和 dotTrace 现在让您可以收集有关 macOS 和 Linux 上异步调用的数据。 要获取此数据,请使用 Timeline(时间线)分析模式。 Call Tree(调用树)显示异步调用,包括 await 和 continuation。

改进了在 macOS 和 Linux 上对子进程的支持 2021.3

Rider 中的 dotTrace 命令行工具和 dotTrace 现在可以在 Timeline(时间线)分析模式下分析 macOS 和 Linux 上应用程序的子进程。 此支持仅适用于 .NET 5+ 应用程序。

原生分析 2021.2

现在,可以在 Windows 上分析原生应用程序。 启动分析会话时,您可以选择从远程服务器中下载原生的源代码符号文件。 原生分析仅可用于时间线分析类型。

macOS 和 Linux 上的时间线分析 2021.2

现在,可以使用时间线分析类型分析 macOS 和 Linux 上的 .NET Core 和 .NET 应用程序。

新的主屏幕 2021.1

我们重新设计了 dotTrace 的主屏幕, 配置和启动新的分析会话、使用快照以及执行其他基本操作变得更加轻松。

作为 .NET 全局工具的命令行分析器

作为 .NET 全局工具的命令行分析器 2021.1

您可以将 dotTrace 命令行分析器作为 dotnet 全局工具安装和使用:dotnet tool install --global JetBrains.dotTrace.GlobalTools --version 2021.1.0

下载 dotTrace

可免费试用 30 天