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