Apache flink 获取Flink延迟度量中的运算符名称
我试图使用Flink导出的延迟度量来估计事件的端到端元组延迟(我使用的是Prometheus metrics reporter)。一切都很好,我可以在Grafana/Prom仪表板中看到延迟度量。看起来像Apache flink 获取Flink延迟度量中的运算符名称,apache-flink,Apache Flink,我试图使用Flink导出的延迟度量来估计事件的端到端元组延迟(我使用的是Prometheus metrics reporter)。一切都很好,我可以在Grafana/Prom仪表板中看到延迟度量。看起来像 flink_taskmanager_job_latency_source_id_source_subtask_index_operator_id_operator_subtask_index_latency{ host="",instance="",job="", job_id="",
flink_taskmanager_job_latency_source_id_source_subtask_index_operator_id_operator_subtask_index_latency{
host="",instance="",job="",
job_id="",job_name="",operator_id="",operator_subtask_index="0",
quantile="0.99",source_id="",source_subtask_index="0",tm_id=""}
我的这个测试作业是一个简单的source->map->sink
操作,并行度设置为1。我可以从Flink仪表板上看到,所有这些都被链接到一个任务中。对于我的一次作业运行,我看到两组延迟度量。每组显示所有分位数,如(.5、.95..)。这两组之间唯一不同的是运算符\u id
。我假设这意味着一个操作符\u id
属于map
操作符,另一个属于sink
现在我的问题是,仅仅通过查看指标并不能直观地区分这两者(找出哪个操作符id是映射还是sink
)。所以我的问题基本上是:
地图和接收器分配名称。即使这些名称显示在其他度量中,如numRecordsIn
,这些名称也不会显示在延迟度量中
操作员\u id
和操作员\u name
之间的映射operator\u id
当前是一个散列值,可以根据输入和节点本身的散列值计算,也可以通过UID
为运算符设置UID,将其计算为该id的3\u 128
散列
请打开一期JIRA,将此功能添加到Flink。谢谢。我添加了一个Jira问题,但似乎已经有了。请问您如何将任务相关指标导出到普罗米修斯?默认情况下,它似乎只是将与作业管理器相关的指标导出到普罗米修斯。还需要配置什么?