go语言可视化函数调用关系
1、介绍
下面介绍一款使用go分析开源项目非常实用的工具,它可以使用Graphviz可视化Go程序调用图。
下面可以欣赏下docker的函数调用关系,非常漂亮,简洁,每一层的调用逻辑都非常清除,这个工具真的是一款不可多得的好工具。
下面图片的内容可能太多,导致看的不是很清除。源图地址:点击查看原图
2、安装
需要 Go 1.13+
Graphviz(可选,仅与-Graphviz标志一起需要)
GraphvizLinuxWindows
windows需要下载可行性文件,其他平台:
shell $ sudo apt install graphviz
shell $ sudo yum install graphviz
shell $ sudo apt install graphviz
shell $ sudo yum install graphviz
- Mac
shell $ brew install graphviz
go-callvis
直接执行以下命令:
3、使用
先看看帮助文档:
简单使用方式:
这里 main package 是包含代码的main函数所在的包
先看下我的目录结构:
- 直接查看主函数:采用默认分组,pkg
系统会自动打开浏览器:
svgsvg
- 导出图片:
- 使用pkg和type分开显示
go-callvis -group pkg,type -ignore fastgee main,goginsh go-callvis -group pkg,type -ignore github.com/gin-gonic/gin main.go
focus
go-callvis -focus=fastgee/ -group pkg,type
-limit
go-callvis -group pkg,type -limit fastgee fastgee/
其他的命令,请自行探索。