本页面介绍了如何在 Dataflow 监控界面中使用执行详细信息标签页。
概览
Dataflow 在运行作业时,会将流水线的步骤转换为阶段。每个步骤均代表一个转换,而阶段则代表由 Dataflow 执行的单个工作单元。为了优化流水线,Dataflow 可能会将多个步骤组合到一个阶段中。
Dataflow 监控界面中的执行详细信息标签页会显示有关作业各个阶段的信息。您可以使用执行详细信息标签页来排查性能问题,例如:
- 导致性能瓶颈的缓慢阶段
- 卡住的阶段无法推进
- 落后于其他工作器的工作器虚拟机
查看执行详细信息
如需查看作业的执行详细信息,请执行以下步骤:
在 Google Cloud 控制台中,依次前往 Dataflow > 作业页面。
选择一个作业。
点击执行详细信息标签页。
选择以下视图之一:
- 阶段进度
- 阶段工作流
- 工作器进度(仅限批量作业)
以下各部分分别介绍了这些视图。
阶段进度视图
借助阶段进度视图,您可以观察作业的总体进度,并比较各阶段的相对进度。阶段进度视图的布局因批量作业和流式作业而异。
批量作业的阶段进度
对于批量作业,阶段进度视图会按作业开始时间的顺序显示作业阶段。对于每个阶段,它会显示以下元素:
- 显示停止时间和结束时间的进度条。
- 以占阶段总工作量的百分比形式显示阶段进度随时间变化的折线图。
- 在该阶段花费的总时间。
如需过滤显示哪些阶段,请点击过滤阶段。如需查看关键路径,请切换关键路径。关键路径是影响整个作业运行时的一系列阶段。例如,它排除了比整体作业更早完成的分支,以及不会延迟下游处理的输入。
阶段信息面板会显示有关阶段的更多详细信息。如需查看某个阶段的详细信息,请点击该阶段的进度条。阶段信息面板会显示有关阶段的以下信息:
- 状态
- 进度(以百分比表示)
- 开始时间和结束时间
- 此阶段包含的流水线步骤
- 按实际用时计算的最慢步骤
- 有关任何 straggler 的详细信息
如果面板未显示,请点击
切换面板“阶段信息”。流式作业的阶段进度
对于流式作业,阶段进度视图具有两种数据新鲜度的可视化图表。数据新鲜度是指数据元素的时间戳与该元素处理时间之间的差异。值越大,表示流水线处理输入数据所需的时间越长。
第一个可视化图表以折线图的形式显示每个阶段的数据新鲜度。如需查看特定时间点的数据新鲜度,请将指针悬停在图表上。如需选择时间范围,请使用时间选择器,或点击图表并拖动以选择范围。如需过滤显示哪些阶段,请点击过滤阶段。
该图表还会突出显示数据中的异常值:
- 潜在的缓慢:数据新鲜度超过所选时段的第 95 百分位。
- 潜在的卡顿:数据新鲜度超过所选时段的第 99 百分位。
第二个可视化图表以一系列条形图显示各个阶段。各个阶段按拓扑顺序排列。没有后代的阶段会先显示,后跟其后代。条形的长度表示数据新鲜度。 如需查看特定时间点的数据新鲜度值,请点击图表。条形会更新,以显示所选时间的数据新鲜度。
下图显示了一个包含四个阶段的作业。在所选时间戳,数据新鲜度介于 9 秒到 13 秒之间。
下图显示了已选择不同时间戳的同一作业。此时,所有阶段的数据新鲜度都超过 4 分钟,这表明流水线可能卡住了。
阶段信息面板会显示有关阶段的更多详细信息。如需查看某个阶段的详细信息,请点击该阶段的进度条。阶段信息面板会显示有关阶段的以下信息:
如果面板未显示,请点击
切换面板“阶段信息”。阶段工作流
阶段工作流视图以工作流图表的形式显示作业阶段。如需查看某个阶段的详细信息,请点击该阶段对应的框。
对于批量作业,请点击关键路径,以仅查看对作业整体运行时间有直接影响的阶段。
工作器进度
对于批量作业,工作器进度视图会显示特定阶段的工作器。此视图不适用于流式作业。如需访问此视图,请选择工作器进度,然后在按阶段过滤工作器中选择相应阶段。 或者,您也可以从阶段进度视图激活此视图,如下所示:
- 在阶段进度视图中,识别您要查看的阶段。
- 将指针悬停在该阶段对应的条形上。
- 在阶段卡片中,点击查看工作器。系统会显示工作器进度视图,并预先选中相应阶段。
每个条形均映射到一个调度到工作器的工作项。跟踪工作器上 CPU 利用率的火花谱线图在每个工作器处,便于您更轻松地发现利用率过低的问题。
后续步骤
- 详细了解如何排查作业缓慢或卡住的问题。
- 了解 Dataflow 基于 Web 的监控界面的不同组件。