{"repo":"ondrajz/go-callvis","free":true,"listed":false,"github":"https://github.com/ondrajz/go-callvis","clone":"git clone https://github.com/ondrajz/go-callvis.git","description":"Visualize call graph of a Go program using Graphviz","language":"Go","stars":6504,"topics":["callgraph","graphviz","visualization","golang","golang-tools","static-analysis","awesome-go"],"license":"MIT","category":"dev-tools","readme_excerpt":"go-callvis go-callvis is a development tool to help visualize call graph of a Go program using interactive view. --- Introduction The purpose of this tool is to provide developers with a visual overview of a Go program using data from call graph and its relations with packages and types. This is especially useful in larger projects where the complexity of the code much higher or when you are just simply trying to understand code of somebody else. Features - click on package to quickly switch the focus using interactive viewer - focus specific package in the program - group functions by package - group methods by their receiver type - filter packages to specific import path prefixes - ignore calls to/from standard library - omit various types of function calls Output preview Check out the source code for the above image. How it works It runs pointer analysis to construct the call graph of the program and uses the data to generate output in dot format, which can be rendered with Graphviz tools. Quick start Installation Requirements - Go 1.19+ - Graphviz (optional, required only with -graphviz flag) To install go-callvis, run: Alternatively, clone the repository and compile the source code: Usage Interactive viewer To use the interactive view provided by a web server that serves SVG images of focused packages, you can simply run: go-callvis HTTP server is listening on http://localhost:7878/ by default, use option -http=\"ADDR:PORT\" to change HTTP server address. Render static out","default_branch":null,"files":null,"tree":[],"storefront":"/r/ondrajz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ondrajz/go-callvis/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}