一、背景
FLink Job端到端延迟是一个重要的指标,用来衡量Flink任务的整体性能和响应延迟(大部分流式应用,要求低延迟特性)。通过流处理引擎竞品对比,我们发现大部分流计算引擎产品,都在告警监控页面,集成了全链路时延指标展示。一些低延时的处理场景,例如用于登陆、用户下单规则检测,实时预测场景,需要一个可度量的Metric指标,来实时观测、监控集群全链路时延情况。
二、源码分析来源
1、本文的源码分析基于FLink社区issue FLINK-3660,以及issue对应的pr源码pull-2386,另外,个人也新增了实现源码的说明。2、其pr源码中只涉及到了部分全链路时延实现代码,因此,我在文章中总结了:
-
Source到Sink处理Latency Marker源码
-
LatencyMarksEmitter 提交时延标记类
-
LatencyStats(时延直方图Metric实现)源码
-
时延测量–整体架构图
三、腾讯Oceanus监控指标参考
如下图,红色框线对应的数据延时,即我们描述的指标