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

本文介绍了在Flink中实现全链路延迟监控的方法,从需求背景出发,通过在source获取时间戳,并在sink处计算与当前时间的差值得到延迟。文章详细阐述了使用Kafka作为source时的实现细节,并通过Histograms metric展示延迟统计结果。然而,这种方法增加了额外的存储开销,社区已提供解决方案FLINK-3660,以更高效地实现全链路监控。
摘要由CSDN通过智能技术生成

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

需求 & 背景

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

分析

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

思考

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

实现

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

package flink.utils;

import
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JasonLee实时计算

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值