【发布时间】:2022-01-09 02:43:24
【问题描述】:
我开发了如下图所示的管道:
SingleOutputStreamOperator<String> stream = ...
DataStream<String> branch2 = stream
.getSideOutput(outputTag2)
.keyBy(MetricObject::getRootAssetId)
.window(TumblingEventTimeWindows.of(Time.seconds(180)))
.trigger(ContinuousEventTimeTrigger.of(Time.seconds(15)))
.aggregate(new CountDistinctAggregate(),new CountDistinctProcess())
.name("windowed-count-distinct")
.uid("windowed-count-distinct")
.map(AggregationObject::toString)
.name("get-toString");
我正在努力思考一种方法来评估从输入到输出的延迟,但输入和输出之间的关系不是 1 比 1,但是有很多转换使得延迟评估在概念上非常困难。我知道使用以下方法给出的延迟指标:
env.getConfig().setLatencyTrackingInterval(1000),但我不明白它们代表什么以及如何在测试中使用它,我试图强调应用程序每秒发送不同数量的记录(10/s、20/s、50/s 等等) 并监控吞吐量何时开始下降、延迟开始增加以及背压开始。
【问题讨论】:
标签: java apache-flink flink-streaming latency