其他
Flink全链路延迟的测量方式
一、背景
二、源码分析来源
Source到Sink处理Latency Marker源码
LatencyMarksEmitter 提交时延标记类
LatencyStats(时延直方图Metric实现)源码
时延测量–整体架构图
三、腾讯Oceanus监控指标参考
四、Flink LatencyMarker实现思路
五、Flink LatencyMarker实现源码
public class RecordWriterOutput{
@Override
public void emitLatencyMarker(LatencyMarker latencyMarker) {
serializationDelegate.setInstance(latencyMarker);
try {
// 内部实现了随机选择通道
recordWriter.randomEmit(serializationDelegate);
}
catch (Exception e) {
throw new RuntimeException(e.getMessage(), e);
}
}
}
上述RecordWriterOutput#emitLatencyMarker()会被StreamSource、AbstractStreamOperator调用,分别实现source和中间operator的延迟标记下发
六、总结说明
文章不错?点个【在看】吧! 👇