亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spark下使用火焰圖分析工具

標簽:
Spark

准备

Java honest profiler工具: https://github.com/jvm-profiling-tools/honest-profiler
根据prof输出生成flame graph工具: http://www.brendangregg.com/FlameGraphs

Java honest profiler工具的编译安装

虽然github上提供了编译好的二进制,但其依赖的glibc为3.x的,不能使用,需要自己编译,参考其说明文档,cmake & mvn clean -DskipTest package,整个过程比较顺利;

  • jdk本身一个提供了一个叫hprof的采样工具,我也实验了下,感觉没有honest工具好用;

  • google有提供一个叫做lightweight-java-profiler的工具,不过现在已经没人维护了,测试了下,失败了;

使用

1.在SPARK_HOME/bin/spark-class文件中,修改启动命令:

  # 使用jdk提供hprof工具配置
  #"$RUNNER" -agentlib:hprof=cpu=samples,depth=100,interval=7,lineno=y,thread=y,monitor=y,file=output.hprof -Xmx128m -cp "$LAUNCH_CLASSPATH" org.apache.spark.launcher.Main "$
@"
  
  # 使用honest工具,添加配置
  "$RUNNER" -agentpath:/home/hadoop/build/honest-profiler/honest-profiler/build/liblagent.so=interval=7,logPath=honest.hpl -Xmx128m -cp "$LAUNCH_CLASSPATH" org.apache.spark.l
auncher.Main "$@"
  1. 启动spark程序,程序会在当前路径生成profile文件;

  2. 基于honest-profiler.jar对原始prifile文件进行处理;(本实现采用honest-profiler)

java -cp /home/hadoop/build/honest-profiler/honest-profiler/target/honest-profiler.jar com.insightfullogic.honest_profiler.ports.console.FlameGraphDumperApplication /home/hadoop/work/spark/honest.hpl /home/hadoop/work/spark/honest.hpl.folded

  1. 利用FlameGraph工具生成动态svg

./FlameGraph/flamegraph.pl /home/hadoop/work/spark/honest.hpl.folded > /tmp/flamegraph-java.svg

后续

当前踩点貌似太少了,如何长时间踩点?



作者:分裂四人组
链接:https://www.jianshu.com/p/31d0f837a4a4


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
移動開發工程師
手記
粉絲
46
獲贊與收藏
145

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消