最近遇到这么一个需求,需要将 github.com/google/pprof 当作 package 使用。
遇到一个问题:
github.com/google/pprof 有很多的全局变量,因此不能直接使用。
所以我需要找到所有会被修改的全局变量,考虑到这个仓库代码数过多,因此写了一个自动化工具来完成这项工作。
找到那些在 init 函数之外的地方修改过的全局变量以及对应修改的位置。
下载库并使用 github.com/google/pprof 做测试:
go get -v github.com/zdyj3170101136/globalVariable/cmd/globalVariable
git clone https://github.com/google/pprof
cd pprof && globalVariable /Users/jie.yang05/Downloads/pprof-master/...
输出:
yangjie05-mac:pprof-master jie.yang05$ globalVariable /Users/jie.yang05/Downloads/pprof-master/...
/Users/jie.yang05/Downloads/pprof-master/internal/graph/dotgraph.go:575:2: global variable
/Users/jie.yang05/Downloads/pprof-master/internal/graph/dotgraph.go:580:2: modify
/Users/jie.yang05/Downloads/pprof-master/internal/graph/dotgraph.go:576:2: global variable
/Users/jie.yang05/Downloads/pprof-master/internal/graph/dotgraph.go:581:2: modify