Golang可视化工具——go-callvis

  • 一、go-callvis介绍
  • 二、运行依赖
  • 三、安装
  • 四、使用方法
  • 五、效果图说明
    • 参考

一、go-callvis介绍

Go-callvis是一种golang代码可视化工具,用于帮助使用交互式视图可视化 Go 程序的调用图。此工具的目的是为开发人员提供一个可视化的 Go 程序概览,使用来自调用图的数据及其与包和类型的关系。这在大型项目中特别有用,因为这些项目的代码复杂度要高得多,或者只是简单地试图理解其他人的代码。

二、运行依赖

  • Go 1.13+
  • Graphviz (optional, required only with -graphviz flag)

三、安装

go get -u github.com/ofabry/go-callvis

或者是

git clone https://github.com/ofabry/go-callvis.git
cd go-callvis
make install

安装好的 go-callvis 可执行文件会在$GOPATH/bin目录下

四、使用方法

  • 运行go-callvis -h可以列出所有受支持的选项,如下
Usage of go-callvis:-debugEnable verbose log.输出详细日志-file stringoutput filename - omit to use server mode以文件新式输出结果,并将忽略server交互模式-cacheDir stringEnable caching to avoid unnecessary re-rendering.启用缓存以避免不必要的重新渲染。-focus stringFocus specific package using name or import path. (default "main")关注特定的程序包,默认为“main”包-format stringoutput file format [svg | png | jpg | ...] (default "svg")输出文件的格式,[svg | png | jpg | ...],默认为svg-graphvizUse Graphviz's dot program to render images.使用Graphviz渲染图像-group stringGrouping functions by packages and/or types [pkg, type] (separated by comma) (default "pkg")分组功能,根据包 与/或 类型分组 [pkg, type] (用逗号分开) (默认 "pkg"),例如 -group pkg,type-http stringHTTP service address. (default ":7878")HTTP 服务地址 (默认 ":7878")-ignore stringIgnore package paths containing given prefixes (separated by comma)忽略包含给定前缀的包路径(用逗号分开)-include stringInclude package paths with given prefixes (separated by comma)包含具有给定前缀的包路径 (用逗号分开)-limit stringLimit package paths to given prefixes (separated by comma)将包路径限制为给定的前缀(以逗号分隔)-minlen uintMinimum edge length (for wider output). (default 2)最小边长(用于更宽的输出)。 (默认2)-nodesep floatMinimum space between two adjacent nodes in the same rank (for taller output). (default 0.35)同一等级中两个相邻节点之间的最小间距(用于更高的输出)。 (默认0.35)-nointerOmit calls to unexported functions.忽略对未导出函数的调用。(忽略首字母小写的函数)-nostdOmit calls to/from packages in standard library.忽略标准库的调用-skipbrowserSkip opening browser.跳过打开浏览器-tags build tagsa list of build tags to consider satisfied during the build. For more information about build tags, see the description of build constraints in the documentation for the go/build package在构建期间更适合的构建标记有关构建标记的更多信息,请参阅go / build软件包的文档中的构建约束说明。-testsInclude test code.包含测试代码-versionShow version and exit.显示版本号
  • 命令行格式:go-callvis [可选参数] <包路径>
  • 默认情况下,输出的图在 http://localhost:7878/,可使用选项-http="ADDR:PORT"更改HTTP服务器地址。
  • 静态输出:
    • 要生成单个输出文件,使用选项-file=<file path>选择输出文件目标。
    • 输出格式默认为svg,使用选项-format=<svg|png|jpg|...>选择其他输出格式。
  • 使用示例:
    • 解析main包 go-callvis -skipbrowser -nostd ./
    • 解析testPkg包 go-callvis -group pkg,type -focus testPkg github.com/项目具体路径

五、效果图说明

  • 规范说明

参考

  • https://github.com/ofabry/go-callvis

附:有不足、疏漏欢迎指出,我可以借鉴学习后补充。

Golang可视化工具——go-callvis相关推荐

  1. BERT可视化工具bertviz体验

    BERT可视化工具体验:bertviz是用于BERT模型注意力层的可视化页面. 1,bertviz的github地址:https://github.com/jessevig/bertviz 2,将be ...

  2. Cassandra 可视化工具

    2019独角兽企业重金招聘Python工程师标准>>> 最近开始接触Cassandra,这些天在cassandra的wiki发现了一些可视化工具的推荐.现在也把这个链接推荐给大家:h ...

  3. 帅气逼人的Redis可视化工具

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.toutiao.com/i6 ...

  4. 太厉害了!这应该是目前Redis可视化工具最全的横向评测

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 转自:一入码坑深似海 链接:www.jianshu.com/p/c ...

  5. 数据探索很麻烦?推荐一款强大的特征分析可视化工具:yellowbrick

    前言 玩过建模的朋友都知道,在建立模型之前有很长的一段特征工程工作要做,而在特征工程的过程中,探索性数据分析又是必不可少的一部分,因为如果我们要对各个特征进行细致的分析,那么必然会进行一些可视化以辅助 ...

  6. PyTorch下的可视化工具(网络结构/训练过程可视化)

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 锦恢@知乎 来源 | https://zhuanlan.z ...

  7. 谷歌开源NLP模型可视化工具LIT,模型训练不再「黑箱」

    视学算法报道 编辑:陈萍.魔王 转载自公众号:机器之心 深度学习模型的训练就像是「黑箱操作」,知道输入是什么.输出是什么,但中间过程就像个黑匣子,这使得研究人员可能花费大量时间找出模型运行不正常的原因 ...

  8. PyTorch深度学习训练可视化工具tensorboardX

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 之前笔者提到了PyTorch的专属可视化工具visdom,参看Py ...

  9. oracle for 记录数,可视化工具dbForge Documenter for Oracle全新上线!让您轻松记录Oracle数据库...

    dbForge Documenter for Oracle是一个用于记录Oracle数据库的便捷可视化工具.此Oracle文档工具以HTML,PDF和MARKDOWN文件格式自动生成整个Oracle数 ...

最新文章

  1. python用途与前景-Python 未来发展前景怎么样?
  2. 【10大专利看iPhone未来】全息图、虚拟卷轴,移动AR……苹果还有哪些黑科技?...
  3. python类和函数_构建程序. Python中的类和函数
  4. php mysql 常用语句_PHP mysql基本语句指令
  5. 要想选到音质好的耳机,你应该需要知道这些~
  6. [国嵌攻略][038][时钟初始化]
  7. laradock 进入 工作区
  8. java坐标代码_java实现计算地理坐标之间的距离
  9. 学习编程,最忌纠结!
  10. glide 设置宽高_Glide加载ImageView显示不全的问题(宽高比一致,以及fitxy/centerCrop)...
  11. java 生成短链接_java调用百度API生成短链接(一)
  12. 方向包围盒OBB(oriented bounding box)
  13. BAT 字符串大小写转换
  14. word被加密不能编辑如何破解
  15. 免费在线鉴别邮箱是不是国外客户(真实外国人)
  16. 计算机显示器模糊,电脑显示器模糊是什么原因
  17. 关于Google多账户登录
  18. 文件下载(下载文件名乱码解决方法)
  19. Keyboard 软键盘阻挡输入框爬坑指南
  20. TJA1050T CAN总线通信硬件原理

热门文章

  1. 云服务器怎么设置成代理服务器?
  2. 利用全长转录组多重阵列测序检测同源异构体
  3. 程序员都应该学学怎么表达
  4. java.net.UnknownHostException: mybatis-plus
  5. java(maven)链接neo4j
  6. PC时代的20位英雄
  7. 计算机房的英语该怎么读,计算机机房硬件维护,Computer room hardware maintenance,音标,读音,翻译,英文例句,英语词典...
  8. 楚留香 微信跟qq服务器,背靠QQ、微信的天刀手游,对上一梦江湖,赢面到底有多大?...
  9. 防雷接地系统中的浪涌保护器分类选型
  10. 【现代通信原理笔记】4 数字基带传输