一、背景
调研 flink最新版本的功能,使用的版本是flink1.13.1
新版本下载编译
可参考之前博客:https://blog.csdn.net/qq_31963719/article/details/114682592?spm=1001.2014.3001.5501
起任务
为了看到更全面的指标,自定义任务
大概:kafkaSource —> filter —> flatMap —> keyby —> kafkaSink
二、火焰图
火焰图是跟踪堆栈线程然后重复多次采样而生成的。每个方法的调用都会有一个长方型表示,长方型的长度和它在采样中出现的次数成正比。
火焰图默认是关闭的 需要在flink-conf.yaml文件配置才能看到
配置项
rest.flamegraph.enabled : true
配合火焰图,flink1.13增加了好几个关于火焰图的配置项
具体参考:https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/config/
三、效果
官方态度
We recommend enabling it in development and pre-production environments, but you should treat it as an experimental feature in production.
我们建议在开发和预生产环境中启用它,但您应该将其视为生产环境中的一个实验性特性。
火焰图分类
类型 功能 状态
on-CPU 样本中正在运行或新建调用 Thread.State in [RUNNABLE, NEW]
off-CPU 样本中发现的阻塞调用 Thread.State in [TIMED_WAITING, WAITING, BLOCKED]
Mixed all ALL
ref: https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/ops/metrics/
注意:
若没在flink-conf.yaml配置启动火焰图,webUI会报错:
{“errors”:[“Unable to load requested file /jobs/***/flamegraph.”]}