grmonCommand line monitoring for goroutines

联合创作 · 2023-09-30 07:05

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

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报