Diago

Diago is a visualization tool for profiles and heap snapshots generated with pprof.

Features

  • Visual interface with an easy-to-use read tree
    • CPU usage
    • Total heap allocated
    • Heap in-use
  • Search in functions and filenames
  • Aggregate per functions or per function calls (lines)

Installation

Due to the underlying usage of go-gl/glfw, there is a few system dependencies (i.e. some Xorg libraries on Linux or headers/libraries on macOS). See this link for detailed information.

You'll need Go installed (only tested with Go >= 1.12), then:

go get -u github.com/remeh/diago

The diago binary should be available in $GOPATH/bin or $HOME/go/bin if the $GOPATH environment variable is not set.

Note that the build could take a few seconds to complete due to the dependencies.

Usage

./diago -file <profile-or-heap-snapshot-to-visualize>

Roadmap

  • Read a profile from HTTP
  • Test profiles not generated with Go http/pprof

Author

Rémy MATHIEU - @remeh

GitHub