Skip to content

bcicen/grmon

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

grmon

Command line monitoring for goroutines

grmon

Install

go get -u github.com/bcicen/grmon

Usage

Simply import and call grmon.Start() somewhere in your code:

import "github.com/bcicen/grmon/agent"
...
grmon.Start()

alternatively, you may just start the pprof server directly:

import (
	"net/http"
	_ "net/http/pprof"
)
...
go http.ListenAndServe(":1234", nil)

now grmon can connect to the running program:

grmon

By default, grmon will automatically refresh every 5s. Pause automatic refresh(p) to enable the cursor and expand the full trace for a selected goroutine(<enter>).

Keybindings

Key Action
r manually refresh
p pause/unpause automatic updates
s toggle sort column and refresh
f filter by keyword
<up>,<down>,j,k move cursor position
<enter>,o expand trace under cursor
t open trace in full screen mode
q exit grmon

Options

Option Description Default
-i time in seconds between refresh, 0 to disable 5
-host target host localhost:1234
-endpoint target endpoint path /debug/pprof

Roadmap

  • Hierarchal/tree display