golang 查看代码调用关系图

摘要:
go-callvis是github上一个开源项目,可以用来查看golang代码调用关系。

go-callvis 是github上一个开源项目,可以用来查看golang代码调用关系。

安装

安装graphviz

$ brew install graphviz

安装go-callvis

go get -u github.com/TrueFurby/go-callvis
cd $GOPATH/src/github.com/TrueFurby/go-callvis && make

用法

$ go-callvis [flags] package

例如,以orchestrator项目为例,其代码已经下载到本地。

$ go-callvis github.com/github/orchestrator/go/cmd/orchestrator

如果没有focus标识,默认是main

例如,查看github.com/github/orchestrator/go/http 这个package下面的调用关系:

$ go-callvis -focus github.com/github/orchestrator/go/http  github.com/github/orchestrator/go/cmd/orchestrator

浏览器跳出页面http://localhost:7878,可以看到代码调用关系图。

在这里插入图片描述

参考

github go-callvis

免责声明:文章转载自《golang 查看代码调用关系图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP实现执行定时任务的几种思路详解HTML5--(3)过渡+动画+颜色+文本下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

golang读写锁与互斥锁的性能比较

长时间来一直以为在读多写少的场景下,读写锁性能必然优于互斥锁,然而情况恰恰相反 不废话了,先上一段测试代码 func main() { var w = &sync.WaitGroup{} var num = 50000000 var c = make(chan int, 3000) var rwmutexTmp = newRwmut...

Golang的高级数据类型-指针(Pointer)实战篇

          Golang的高级数据类型-指针(Pointer)实战篇                                作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。       前面分享过存储数据的方式,可以通过变量,或者复合类型中的数组,切片,Map,结构体等进行存储。今天我们来分享一下Go语言中的指针操作。   ...

golang 服务平滑重启小结

背景 golang 程序平滑重启框架 supervisor 出现 defunct 原因 使用 master/worker 模式 背景 在业务快速增长中,前期只是验证模式是否可行,初期忽略程序发布重启带来的暂短停机影响。当模式实验成熟之后会逐渐放量,此时我们的发布停机带来的影响就会大很多。我们整个服务都是基于云,请求流量从 四层->七层->...

乌班图的安装

Ubuntu 系统安装 在VMware中新建虚拟机 指定当前虚拟机使用的系统镜像 设置系统的登录账号密码,设置完成以后一定要记住。 一直等待,系统初始化安装,知道出现下方界面: 输入前面设置的密码,点击Sign In 点击右上角绿色按钮,一路next即可。 点击Install Now,下载最新版本的ubuntu软件...

[Go] 在golang中使用正则表达式捕获子表达式

正则匹配并且可以捕获到()这个里面的子表达式的值,linux的grep命令没办法捕获子表达式的值,只能获取到整条正则匹配的内容 package main import "regexp" import "fmt" func main() { str := `(.*?)(d+)(.*?)d(.*)d` r := regex...

golang mgo的mongo连接池设置:必须手动加上maxPoolSize

本司礼物系统使用了golang的 mongo库 mgo,中间踩了一些坑,总结下避免大家再踩坑 golang的mgo库说明里是说明了开启连接复用的,但观察实验发现,这并没有根本实现连接的控制,连接复用仅在有空闲连接时生效,高并发时无可用连接会不断创建新连接,所以最终还是需要程序员自行去限制最大连接才行。 废话不多说,开始上代码 GlobalMgoSessi...