收集flink flatmap函数所用平均时间的度量



我已经实现了一个flink flatmap函数,我想为这个函数收集平均时间的指标,我计划通过prometheus监控它。

什么是好的方法?我在方法中添加了一个gauge(从flink API扩展gauge接口(。

public class SimpleGauge<T> implements Gauge<T> {
private T mValue;
@Override
public T getValue() {
return mValue;
}
public void setValue(T value){
mValue = value;
}
}

我从平面图函数调用setValue:

float endTime = (System.currentTimeMillis() - startTime) / 1000F;
this.gauge.setValue(endTime);

它行得通吗?

它是否工作取决于如何创建Gauge。如果您使用的是普通FlatMapFunction,那么您可能应该切换到RichFlatMapFunction,然后初始化并注册您的仪表getRuntimeContext

此外,您可能想了解一些度量类型,因为在这种情况下,Histogram似乎比Gauge更好,因为在大多数情况下,测量平均延迟通常不是最好的主意。

相关内容

  • 没有找到相关文章

最新更新