我如何从 spark 应用程序的代码中 monitor/generate CPU/RAM 利用率的汇总报告?

How can I monitor/generate aggregated report of CPU/RAM utilization from code for spark application?

我知道 ganglia 可以用来监控像 Spark 这样的集群中的资源利用率。但它会为我的申请提供一份整体报告。

但是如果我想知道我的代码的特定部分使用了多少资源,有什么办法吗?

A
My code
B

例如,我想知道CPU/RAM从A到B的利用率。我可以在代码中计算运行时间,即java spark的应用程序,但我不知道如何可以明确知道该部分的资源利用率。我有一个想法,如果我能以某种方式在 B 处生成报告(例如调用 api 获取神经节报告),它基本上可以向我显示 B 所使用的资源。虽然它不会排除 A 之前的任何内容,但它仍然可以工作如果存在这样的解决方案,现在对我来说。

提前致谢。

显然新项目 sparkoscope 似乎在处理这个问题,即从源代码级别进行监控。然而,他们的项目没有很好的记录,所以我在将他们的项目投入工作时遇到了麻烦。然而,这是一个开始。希望对我这样的人有帮助。