方式一 使用 Flink Web UI 的 Flame Graph
Flink 自己也支持了 Task 粒度的 Flame Graphs 功能,并且可以细化到 subtask 粒度。
第一步:配置启用功能
Flink 作业动态参数里增加配置:“rest.flamegraph.enabled”: “true” 并重启作业。当前该功能没有默认开启,因为这个功能使用时对性能有少量损耗,特别是对于并行度比较大的作业。
第二步: 在 Web UI 上选中想要探查的算子,打开 FlameGraph 面板
方式二 使用 Arthas 打印火焰图
第一步:通过 WebShell 查看 container 的 IP 和 PID第二步:下载 Arthas, 并绑定 container 的 PID 启动
# Godel/K8S 下默认打包了 arthas,可以直接使用
ls /opt/tiger/arthas/arthas