Go
golang

golang製gtop "gotop"を作ってみました。

More than 1 year has passed since last update.


gotop

https://github.com/bunbunjp/gotop

gotop_movie.gif


これはなに?

nodejs製のシステムモニタリングツールgtopをより軽量化する狙いで

golangを使って再実装しました。

コアごとのCPU利用率とメモリの利用率遷移

メモリスワップとネットワーク通信量、ディスク使用量、プロセス一覧の表示を実装しています。

マシンリソースのモニタリングに使ってもらえると幸いです。


どのぐらい軽くなったのか

CPU利用率が1.7 GHz Intel Core i7のMBAで

gtop 6-7% -> gotop 2-4%

メモリ利用量が

gtop 80-90MB -> gotop 7-8MB


インストール

$ go get github.com/bunbunjp/gotop


どんな感じで実装してるか

もともとgolangの勉強も兼ねて実装しましたので、実装でイケてない所が多々あるかと思います。

お気づきの点があれば、ご指摘やContributeしてもらえるとうれしいです。

UIの実装はtermuiを使っています。

システム情報の取得にはgopsutilを一部使っています。

パッケージ管理はglideを使いました。

正直、見た目はかなりgtopのほうがいい感じですし、操作性もgtopのほうが。。。


今後対応したいと思ってること


  • Windows対応したい

  • process listで選んでkill実行したい

あとUIもgtopに負けないようにいろんなTUIライブラリを試してみたいなと思っています。