使用 Logview 查看 MaxFrame 作业#
Logview is a tool that records and displays the execution status of MaxCompute jobs. It has been adapted for MaxFrame. This page describes how to use Logview to inspect MaxFrame job execution information.
概览#
Logview 已适配 MaxFrame,支持以下能力:
查看一个 MaxFrame session 中提交的所有 DAG 的执行记录和耗时。
交互式查看一个 DAG 内各个 Sub DAG 的执行顺序、运行时间、算子拓扑和状态关系。
查看每个子实例的配置、运行状态,以及内存和 CPU 资源使用情况。
For general information about Logview, refer to Use Logview 2.0 to view job information. This page focuses on viewing MaxFrame job information.
MaxFrame Logview 入口#
使用 session = new_session(...) 创建 session 后,系统会自动生成以 https://logview.aliyun.com/logview 开头的 URL。
如果从 DataWorks 提交 MaxFrame 作业,可以直接单击该 URL 打开 MaxFrame Logview UI。
如果从本地环境提交 MaxFrame 作业,可以调用
session.get_logview_address()打印 URL,然后复制到浏览器中打开。
MaxFrame Logview UI 如下所示:
编号 |
区域 |
|---|---|
① |
标题与功能区。参见 Title and feature area。 |
② |
Basic Info。参见 Basic Info。 |
③ |
DAG 列表。参见 DAG list。 |
标题与功能区#
标题与功能区展示提交作业时生成的唯一 job ID,以及自定义作业名称。同时支持以下操作。
图标 |
功能 |
|---|---|
|
获取 MaxFrame Logview URL。 |
|
将作业详情文件保存到本地设备。 |
|
停止当前作业进程。 |
|
打开本地保存的 |
Job list 图标 |
打开作业列表,查看指定 project 下的作业。 |
Auto refresh 开关 |
开启或关闭自动刷新。开启后,页面每 10 秒刷新一次。 |
DAG 列表#
DAG 列表按照 execute() 调用顺序倒序排列,最新提交的作业显示在最前面。各列说明如下。
列 |
说明 |
|---|---|
Id |
DAG ID。每次调用 |
Detail |
单击图标查看对应的 Sub DAG 详情。 |
Start Time |
DAG 提交时间。 |
End Time |
DAG 完成时间。如果 DAG 仍在运行,则为空。 |
Duration |
DAG 运行耗时,按 Start Time 到 End Time 计算;如果仍在运行,则计算到当前时间。 |
Status |
作业状态。参见下方 Status values。 |
说明 |
DAG 说明。 |
Status values
Preparing:DAG 正在解析,尚未开始执行。
Running:DAG 正在运行。
Succeeded:DAG 已成功完成。
Failed:DAG 执行失败。
Cancelling:DAG 正在取消。
Cancelled:DAG 已取消。
Sub DAG 详情#
Sub DAG 详情页包含以下四个区域:
编号 |
区域 |
|---|---|
① |
Sub DAG Graph。参见 Sub DAG Graph。 |
② |
Sub DAG 列表。参见 Sub DAG list。 |
③ |
Sub DAG 的 Instance 列表。参见 Instance list。 |
④ |
Sub DAG 的 Basic Info。参见 Basic Info。 |
Sub DAG Graph#
Sub DAG Graph 可帮助你快速理解当前 DAG。
编号 |
说明 |
|---|---|
① |
当前 Sub DAG ID。单击后返回 DAG 列表页。 |
② |
面包屑导航。用于在 Sub DAG 层级之间切换。 |
③ |
诊断辅助工具,包括 Progress Chart、Input Heat Chart、Output Heat Chart、TaskTime Heat Chart 和 InstanceTime Heat Chart。 |
④ |
刷新作业执行状态、切换全屏或缩放执行图、打开 MaxCompute Studio 文档,以及切换到父任务层级。 |
⑤ |
缩放辅助工具。 |
⑥ |
Table 节点,表示 ODPS 表。 |
⑦ |
Sub DAG 节点。参见下方 Sub DAG node fields。 |
⑧ |
Data flow,表示 STAGE 之间或 STAGE 与表之间的数据流转。 |
⑨ |
画布概览面板。 |
Sub DAG node fields
STAGE_X:Sub DAG 名称。数字表示执行顺序,从 1 开始递增。X/X/X``(例如 ``0/5/5):当前 Sub DAG 中不同状态的 ODPS instance 数量,顺序为 running / completed / total。开始和结束时间。
MCSQL:执行当前 Sub DAG 的引擎。OP 1:当前 Sub DAG 包含的 operator 数量。双击节点可查看 operator graph。
Sub DAG 列表#
该列表按时间顺序展示当前 DAG 中所有 Sub DAG 的运行信息。
列 |
说明 |
|---|---|
Sub DAG |
当前 Sub DAG 的名称。 |
Failed/Terminated/ALL |
当前 Sub DAG 中不同状态的 ODPS instance 数量。 |
Status |
Sub DAG 状态:Failed / Cancelled / Running / Succeeded。 |
Progress |
Sub DAG 进度。在 Running 状态下达到 100% 只表示当前已调度的所有 instance 已完成,并不表示 Sub DAG 本身已经完成。 |
Start Time |
Sub DAG 提交时间。 |
End Time |
Sub DAG 完成时间。 |
Duration |
Sub DAG 运行耗时。 |
Timeline |
Timeline 预览,用于展示开始顺序和耗时。 |
Instance 列表#
该列表展示与 Sub DAG 相关的 ODPS instance jobs。
列 |
说明 |
|---|---|
Instance ID |
ODPS instance job 的 ID。 |
Status |
Instance 状态。参见下方 Instance status values。 |
Detail |
作业详情。 |
Start Time |
作业提交时间。 |
End Time |
作业完成时间。 |
Duration |
作业运行耗时。 |
Timeline |
Timeline 预览,用于展示开始顺序和耗时。 |
Instance status values
Failed:执行失败。
Cancelled:作业已取消。
Running:作业正在运行。
Terminated:作业已成功完成。
Fallback:作业发生降级,会创建一条新的 instance 记录。
Unknown_terminated:作业已结束,但无法确定是成功还是失败。
Fuxi Sensor#
Fuxi Sensor 是 MaxFrame 作业的全维度资源视图。你可以通过 Fuxi Sensor 查看每个 Fuxi instance 的实际 CPU 和内存消耗,它是诊断作业问题和分析作业运行质量的重要工具。例如,Fuxi Sensor 可用于以下场景:
确认作业发生 OOM 时实际使用了多少内存。
查看 MaxFrame Fuxi instance 的资源使用情况:
CPU 使用率
CPU 图表包含两条线:一条表示申请的 CPU(
cpu_plan),另一条表示实际 CPU 使用量(cpu_usage)。在 y 轴上,400表示 4 个 processor。申请的 CPU 只能通过调整 processor 数量改变,实际 CPU 使用量无法直接调节。内存使用量
内存图表包含两条线:申请内存(
mem_plan)和实际内存使用量(mem_usage)。
使用场景#
查看耗时最长的 stage#
DAG 列表、Sub DAG 列表和 Instance 列表中的 Timeline 列,可帮助你快速找到当前层级耗时最长的 DAG、Sub DAG 或 Instance。
备注
当列表较长并分页展示时,可以按 Duration 列倒序排序,快速找到耗时最长的条目。
查看执行失败原因#
当 DAG 执行失败或客户端返回异常时,可以在 MaxFrame Logview 中按以下步骤排查:
在 DAG 列表中查看每个 DAG 的状态。
找到最近一个状态为
Failed的 DAG,单击 Detail 列中的图标查看详情。在 DAG 详情页中找到显示为红色的 Sub DAG 节点(例如
STAGE_1)。Result 页面也会展示错误信息。单击失败的 Sub DAG 节点
STAGE_1。在 Instance 列表中,单击 Detail 列中的图标,定位失败的 instance。
查看 Sub DAG 中包含的 operators#
可以通过以下两种方式查看 Sub DAG 中包含的 operators:
方式 1:在 DAG 详情页中,单击 Sub DAG 节点。
方式 2:在 DAG 详情页中,双击 Sub DAG 节点。
备注
每个 operator 都会标注其对应的 MaxFrame 脚本代码行。
部分 operators 会带有
merged from标记,表示优化器在 DAG 提交后合并了多个 operators,生成了功能相同但性能更好的新 operator。
查看表数据#
查看数据流结构
如需查看数据流,在 DAG 详情页中双击某个 Sub DAG 节点进入 operator 详情页。单击两个 operators 之间的连线,即可查看数据类型、index 和 column name 信息。
字段说明如下:
Type: dataframe:上游 operator 输出dataframe。DataFrame Index:Index 信息。None: int64表示该 DataFrame 包含一个未命名、类型为int64的单级 index。DataFrame Columns:Column 信息。<column name>: <dtype>列出当前 DataFrame 中每个 column 及其数据类型。DataFrame Level Names:当前 DataFrame 的 level names。
查看数据表结构
在 Sub DAG Graph 中单击任意 operator graph 或 ODPS Table 节点,即可查看表结构。
查看作业详情#
在 DAG 详情页中,单击 Instance 列表 Detail 列中的图标,即可查看作业详情。