阅读分析器快照
在 分析器 工具窗口( )中,收集的数据显示在多个选项卡上: 火焰图、 调用树、 方法列表、 统计信息 和 调用图。
浏览快照
您可以在保持聚焦于特定方法的同时,在标签页之间切换。 右键点击所需的方法,并选择您希望打开的其他视图。

对于 火焰图、 调用树 和 方法列表 选项卡上的任何方法,您可以打开 合并被调用者和 回溯树。 右键点击方法,然后分别选择 方法合并被调用方 或 方法回溯。
线程
性能分析器 工具窗口选项卡中的性能分析数据按线程分组。 您可以选择查看整个过程的合并数据(所有线程已合并 ),或选择一个特定的线程进行详细调查。
显示线程
默认情况下,线程列表是隐藏的,并且数据显示为所有线程的汇总。
要选择特定线程或查看线程列表,请点击左侧工具栏中的 显示线程视图。

线程列表位于 分析器 工具窗口的左侧,并按收集到的样本数量进行排序。 因此,您可以在列表顶部找到最繁忙的线程。
火焰图
火焰图通过矩形可视化应用程序调用树,这些矩形代表调用栈帧,按宽度排序。

获取呼叫详情
将鼠标悬停在块上以查看包含框架详细信息的工具提示。 工具提示显示了整个快照中的时间占比以及框架直接父级中的时间占比。
缩放图表
请使用工具栏上的
和
按钮或者滚轮来缩放图表。
要专注于特定方法,请双击图表上的相应块。
要还原图形的原始大小,请点击工具栏上的 1:1。
搜索图表
如果您想在图上定位特定方法,请开始输入其名称或点击
并在搜索栏中输入名称。
图表突出显示所有与您的搜索请求匹配的方法名称的块。
使用
和
快速导航搜索结果之间。 使用工具栏上的按钮,您还可以搜索整个图或特定子树,并在发现结果后立即导航到结果。
捕获图表
您可以将图表与快照中的其他数据分开捕获和导出。
点击
并选择 复制到剪贴板 ,或者点击 保存 将图表以 .png 格式导出为图像。
您可以在火焰图上呈现两个快照之间的差异。
与基线比较
打开两个快照。 要打开快照,您可以运行分析器两次或转到 并在此处选择快照。
点击 与基线比较… 按钮并选择您要比较的快照。

一个单独的差异标签页将打开,显示比较结果,结合两个火焰图并以红色和绿色显示差异。
如果您看到帧的某部分是绿色的,这意味着在此分析器运行期间,相应的方法变得更快。 红色表示相应的方法变得更慢。
调用树
调用树 选项卡以树状结构组织采样数据。

对于每个方法,该选项卡显示以下信息:
总执行时间或父级执行时间中的占比
聚合执行时间
递归调用
默认情况下,百分比是相对于总执行时间的。 您可以选择查看相对于父框架的数字。
在总计和父项之间切换百分比
点击
并选择 显示总时间的百分比 或 显示父项的百分比。
若如此:专注于特定方法
PyCharm 允许您检查 调用树 中的特定节点和子树:您可以排除特定的方法,或者反过来,只关注您目前感兴趣的节点。
右键点击 调用树 选项卡上的必要节点,然后选择以下选项之一,以在专用选项卡中打开结果:
聚焦于子树 :仅显示选中的方法调用。 父方法示例计数器仅显示在选定子树中花费的时间。
聚焦于调用 :显示所选方法及其调用方法。 启用此选项后,每个帧仅显示在所选方法中花费的时间。
排除子树 :忽略所选的方法调用。
排除调用 :忽略对选定方法的所有调用。
方法列表
方法列表 会收集配置文件数据中的所有方法,并按累积样本时间对它们进行排序。 此列表中的每个项目都有几个视图:
反向跟踪 显示调用者的层次结构。 使用此视图追踪哪些方法调用了所选方法。
合并的被调用方 是调用树,汇总了调用层次结构中的方法。
被调用方列表 是汇总调用层次结构中所有方法的方法列表。
统计信息
在 统计信息 选项卡中,您可以检查分析结果:

项目 | 描述 |
|---|---|
名称 | 函数的名称。 |
调用计数 | 所选函数的调用次数。 |
时间 | 所选函数的执行时间加上该函数调用的所有函数所花费的时间。 在此调用中花费的时间占所有调用中花费时间的百分比(括号中)。 |
自用时间 | 所选函数的自身执行时间。 在此调用中花费的自身时间占此调用中总花费时间的百分比(括号中)。 |
跳转到源代码
要导航到某个函数的源代码,请右键点击 统计信息 选项卡中的相应条目,并从上下文菜单中选择 。
函数的源代码将在编辑器中打开。
调用图
请注意 调用图 上的颜色代码:标记为红色的函数消耗更多时间;最快的函数为绿色。

使用工具栏按钮操作图表:
项目
描述
点击此图标以增加图表的比例。 或者按 NumPad+。
点击此图标以减少图表的比例。 或者按 NumPad-。
点击此图标可恢复图表的实际大小。
点击此图标以使内容适应当前图表大小。
点击此图标以应用从图表上下文菜单的 布局 节点中选择的当前布局。
点击此图标以将图表缩放到窗口装订区域。
点击此图标以将图表复制到剪贴板。
点击此图标,然后用鼠标选择任意图表区域:所选区域将被复制到剪贴板。
点击此图标以将当前图表导出为 PNG 格式。
点击此图标以打印图表。