Flink实战系列Flink 如何实现全链路延迟监控

Posted JasonLee-后厂村程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink实战系列Flink 如何实现全链路延迟监控相关的知识,希望对你有一定的参考价值。

Flink 如何实现全链路延迟监控

需求 & 背景

在实际的生产环境中,我们希望可以监控一个任务整个链路的延迟情况,用来分析 Flink 应用的性能表现.

分析

Flink 的全链路延迟监控指的是从任务的 source 经过中间的 operator 到最后的 sink 端到端的延迟,这是一个非常重要的指标,可以用来衡量 Flink 任务的整体性能和响应延迟,下面就来介绍一下如何实现全链路的监控.

思考

既然要计算端到端的延迟,很容易想到的办法就是在 source 端获取一个时间戳,然后在 sink 的时候再获取一个时间戳,用 sink 时的时间戳减去source 时的时间戳就是整个链路的延迟.这个结果是一个比较准备的值,那具体要怎么实现呢?

实现

一般我们流式的计算 source 都是 MQ,这里拿 kafka 来举例,再读取 kafka 的数据时候可以获取到 kafka 的 timestamp 时间戳,代码实现如下:

package flink.utils;

import bean.JasonEntity;
import com.alibaba

以上是关于Flink实战系列Flink 如何实现全链路延迟监控的主要内容,如果未能解决你的问题,请参考以下文章

Flink实战系列Flink SQL 如何实现 count window 功能?

Flink从入门到精通100篇(二十二)- Flink应用实战案例:如何实现网络流控与反压机制

Flink 实战系列Flink 同步 Kafka 数据到 HDFS parquet 格式存储 snappy 压缩

Flink 实战系列Flink 同步 Kafka 数据到 HDFS parquet 格式存储 snappy 压缩

开源组件Flink性能优化之实时计算延迟填坑记

Flink实战系列Flink SQL 字符串类型的字段如何实现列转行?