ondrajz/go-callvis

Visualize call graph of a Go program using Graphviz

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 11 minutes ago
Added to GitGenius on September 10th, 2026
Created on September 3rd, 2016
Open Issues & Pull Requests: 73 (+0)
GitHub issues: Enabled
Number of forks: 430
Total Stargazers: 6,507 (+0)
Total Subscribers: 73 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

go-callvis is a static analysis tool that visualizes the call graph of a Go program using interactive Graphviz rendering.

The tool addresses the challenge of understanding code structure and function relationships in Go programs, particularly in larger or unfamiliar codebases. It works by running pointer analysis on the target program to construct a call graph, then generates output in Graphviz dot format for rendering. The visualization groups functions by package and methods by receiver type, with color coding to distinguish focused packages, standard library calls, and other code. An interactive web viewer allows developers to click on packages to focus the view on specific areas of the program.

Developers should choose this tool when they need to understand the architecture and call patterns of Go programs. It suits projects of any size but becomes especially valuable in larger codebases where manual code tracing becomes impractical. The tool offers filtering options to ignore standard library calls and omit specific types of function calls, helping reduce visual noise. Output can be generated as an interactive web view or as static files in multiple formats including SVG, PNG, and JPG.

The project maintains active continuous integration and accepts contributions through its development workflow. The tool requires Go 1.19 or later and Graphviz for rendering, though Graphviz is optional if using the interactive viewer mode. A Slack channel exists for community discussion and support around the tool.