有一些博客文章介绍了Flink指标报告系统的高级设计。然而,我仍然不清楚像“Status.JVM.Memory.Heap.Used”这样的与JVM相关的指标是如何收集的。
我试着在Flink源代码中找到它。MemoryLogger.java似乎在获取JVM相关指标方面做了一些工作。https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/MemoryLogger.java#L88。然而,目前还不清楚指标是如何流回MetricsRegistry的。任何关于这一点的建议都将不胜感激。
发布于 2020-01-17 02:53:47
Flink有一个专门的线程来收集每个任务管理器的系统相关指标。
系统指标由SystemResourcesCounter收集
可以通过ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()访问JVM内存指标。
获取JVM相关指标的代码在flink-runtime模块的MetricUtils.java中。
https://stackoverflow.com/questions/59765677
复制相似问题