dotTrace 2025.2 Help

API 参考

性能分析 API

MeasureProfiler 类方法

条目

返回值

描述

GetFeatures()

enum MeasureFeatures: uint

返回当前在性能分析器中激活的一组功能: MeasureFeatures 值中的位标志完全描述了当前性能分析器的状态。 每个位表示相应的功能当前是否可用:

  • Ready = 0x1 :指示性能分析器是否已准备好工作。 仅在将性能分析器附加到当前进程时需要检查此标志:一旦性能分析器准备好接受您的命令,该标志将被设置。 如果您在性能分析下启动一个进程,此标志始终被设置。 在您将性能分析器从进程中分离后,该标志将被清除。

  • Detach = 0x2 :指示是否可以使用 MeasureProfiler.Detach()
    0 :性能分析器将忽略 MeasureProfiler.Detach()
    1MeasureProfiler.Detach() 将从被分析的进程中分离性能分析器。

StartCollectingData()

开始收集性能分析数据。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。

StartCollectingData(string groupName)

[仅供内部使用]
开始收集性能分析数据。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。
groupName 是收集的数据块的名称。

StopCollectingData()

停止收集性能分析数据。 当前数据将保留在内存中,因此下次您使用 StartCollectingData() 开始测量时,新数据将添加到当前数据中。
此方法不会将收集的数据块保存到磁盘。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。
重要! 此方法不适用于 Timeline 性能分析类型 ,并且将被性能分析器忽略。

SaveData()

如果需要,停止收集数据并将所有收集的数据块保存到磁盘。
保存快照后,收集的数据将被重置。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。

SaveData(string name)

[仅供内部使用]
如果需要,停止收集数据并将所有收集的数据块保存到磁盘。
保存快照后,收集的数据将被重置。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。
name 是收集的数据块的名称。 这不是一个文件名。

Detach()

将性能分析器从被分析的进程中分离。 如果性能分析器中禁用了分离功能,则不会执行任何操作。 要检查是否启用了分离功能,请使用 MeasureProfiler.GetFeatures()MeasureFeatures.Detach 标志。 即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。

DropData()

如果需要,停止收集数据并丢弃所有收集的数据块。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。

自我性能分析 API

DotTrace 类方法

条目

返回值

描述

Init(Uri nugetUrl = null, NuGetApi nugetApi = NuGetApi.V3, string downloadTo = null)

初始化性能分析器。 此方法是调用 InitAsync() 方法的简化方式。 这是性能分析器初始化的推荐方法。

InitAsync( CancellationToken cancellationToken, IProgress<double> progress = null, Uri nugetUrl = null, NuGetApi nugetApi = NuGetApi.V3, string downloadTo = null)

Task

(我们建议您使用 Init()
初始化性能分析器。 在初始化期间,API 会检查命令行性能分析器是否与执行程序集位于同一文件夹中。 如果未找到性能分析器,将下载兼容的 JetBrains.dotTrace.CommandLineTools NuGet 包(WindowsLinuxmacOS )到 downloadTo 文件夹中。 兼容的包版本由 NupkgVersion 常量设置。 您可以使用 progress 回调变量跟踪下载进度,并使用 cancellationToken 取消下载。

Attach()

使用默认的性能分析配置将性能分析器附加到当前进程。

Attach(DotTrace.Config config)

使用指定的性能分析 config 将性能分析器附加到当前进程。

StartCollectingData()

开始收集性能数据。 性能分析器的状态从“已停止”变为“已启动”。 如果性能分析器已经处于“已启动”状态,则忽略该命令。

SaveData()

对当前进程进行性能快照。 所有收集的数据将保存到配置中指定的文件中。 请注意,保存数据后,性能分析器将进入“已停止”状态。 要重新开始收集数据,请调用 StartCollectingData()

DropData()

运行此方法以丢弃已收集的数据。 请注意,丢弃数据后,性能分析器将进入“已停止”状态。 要重新开始收集数据,请调用 StartCollectingData()

StopCollectingData()

停止收集性能数据。 性能分析器的状态从“已启动”变为“已停止”。 如果性能分析器已经处于“已停止”状态,则忽略该命令。 在进行快照之前不需要调用此方法。 注意:仅当使用 性能分析器 API 控制会话时,该命令才受支持。 否则,该命令将被忽略。

GetCollectedSnapshotIndexFiles()

String[]

返回收集的快照索引文件的路径。 对于每个收集的快照,将返回一个单独的索引文件。 注意:要共享快照,您必须复制的不仅是索引文件,还包括所有文件。 在这种情况下,使用 GetCollectedSnapshotFilesArchive() 更为方便。

GetCollectedSnapshotFiles()

String[]

返回所有收集的快照文件的路径。 对于每个收集的快照,将返回多个文件。

GetCollectedSnapshotFilesArchive(bool deleteUnpackedFiles)

String

返回包含所有收集的快照文件(包括索引文件)的 zip 文件路径。 如果尚未收集数据,则返回 nulldeleteUnpackedFiles 指定是否必须删除解压的快照文件。

Detach()

将性能分析器从当前进程中分离。 在完成性能分析后调用此方法。

DotTrace.Config 类方法

条目

返回值

描述

SaveToFile(string snapshotFile, bool overwrite = false)

DotTrace.Config

指定快照索引文件的路径。 如果您拍摄了多个快照,第一个快照将获得指定的文件名。 其他快照将额外获得后缀 -[snapshot-number]。 路径中指定的目录必须已存在。

SaveToDir(string dirPath)

DotTrace.Config

指定必须保存快照文件的目录路径(名称将自动生成)。 目录必须已存在。 SaveToDirSaveToFile 是互斥的。

UseTimelineProfilingType()

DotTrace.Config

为会话指定 Timeline 性能分析类型。

最后修改日期: 2025年 9月 28日