LoginSignup
35
15

More than 5 years have passed since last update.

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

Posted at

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ライブラリを試してみたいなと思っています。

35
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
15