Apache flink 收集flink flatmap函数所用平均时间的指标
我已经实现了一个flink flatmap函数,我想收集这个函数的平均时间指标,我计划通过普罗米修斯进行监控 什么样的方法比较好?我在方法中添加了一个仪表(从FlinkAPI扩展仪表接口)Apache flink 收集flink flatmap函数所用平均时间的指标,apache-flink,prometheus,metrics,Apache Flink,Prometheus,Metrics,我已经实现了一个flink flatmap函数,我想收集这个函数的平均时间指标,我计划通过普罗米修斯进行监控 什么样的方法比较好?我在方法中添加了一个仪表(从FlinkAPI扩展仪表接口) 它会工作吗?它是否工作取决于如何创建仪表。如果您使用的是普通的flatmap函数,那么您可能应该切换到richflattmap函数,然后初始化并注册仪表getRuntimeContext 此外,您可能想了解一下度量类型,因为在这种情况下,直方图似乎比测量更好,因为在大多数情况下,测量平均延迟通常不是最好的方法
它会工作吗?它是否工作取决于如何创建
仪表。如果您使用的是普通的flatmap函数
,那么您可能应该切换到richflattmap函数
,然后初始化并注册仪表getRuntimeContext
此外,您可能想了解一下度量类型,因为在这种情况下,直方图
似乎比测量更好,因为在大多数情况下,测量平均延迟通常不是最好的方法。是的,直方图似乎是更好的选择。Flink Histogram不提供总和度量,仅统计指标。邮件列表中也会询问并回答这一问题。看见
public class SimpleGauge<T> implements Gauge<T> {
private T mValue;
@Override
public T getValue() {
return mValue;
}
public void setValue(T value){
mValue = value;
}
}
float endTime = (System.currentTimeMillis() - startTime) / 1000F;
this.gauge.setValue(endTime);