如何将Go测试的CPU/内存分析图保存为图片文件
解决Go Profile文件转图片的报错问题
你遇到的问题根源很明确:profile.pb.gz是Go性能分析用的protobuf压缩文件,不是Graphviz的dot格式文件,直接用dot命令处理自然会报语法错误。按照以下步骤就能正确生成分析图表图片:
方法一:分步转换(先转dot再生成图片)
- (可选)解压压缩文件
如果后续工具不支持直接读取.gz压缩包,先解压:
gzip -d profile.pb.gz
得到解压后的profile.pb文件。
- 用Go工具生成dot格式文件
使用Go自带的pprof工具将profile文件转为dot格式:
# 直接处理压缩包 go tool pprof -dot profile.pb.gz > profile.dot # 或者处理解压后的文件 go tool pprof -dot profile.pb > profile.dot
- 用dot命令生成图片
现在用dot处理生成的dot文件:
dot -Tpng -Gdpi=1024 profile.dot > profile.png # 或者用-o参数指定输出路径 dot -Tpng -Gdpi=1024 profile.dot -o profile.png
方法二:一步直接生成图片
pprof工具支持直接输出图片,省去转dot的步骤:
# 直接生成png图片 go tool pprof -png profile.pb.gz > profile.png # 或者指定输出文件名 go tool pprof -png -output profile.png profile.pb.gz
按上述流程操作就能得到正常的性能分析图表图片,不会再出现语法错误。
内容的提问来源于stack exchange,提问作者Megidd
相关产品推荐
相关产品推荐

