As of 2016-02-26, there will be no more posts for this blog. s/blog/pba/
Showing posts with label text-based user interface. Show all posts

I came across Glances, a system monitoring program written in Python, as its name hints, it enables you to review system information, status, or resource usage in just a few glances. As you can see from the screen shot above, all information in one screen.

  • CPU: Glances probably the only few programs which display the details of what CPU spends time on rather than just a simple percentage of utilization. How much time it's idling or waiting for IO? For example, iowait is an useful information, when disk is busy, more or less it could slow down the system for different reasons and by reading iowait, you know some heavy IO activity is going on.
  • Load average: It's same as uptime gives, the load average of past 1, 5, and 15 minutes.
  • Memory and Swap: Like CPU, more detail is shown, such as buffered, cached, active, or inactive memory. Similar to free command output.
  • Network: Each interface's bandwidth usage, upload and download rates. You can press B to switch unit between bit/second and byte/second.
  • Disk I/O: Read/Write rates on partitions and devices. Not only physical storage devices but also optical devices.
  • Mount points: Similar information you get from df command, such as total size, used space, and available size.
  • Processes: Like htop or top, you can use keys to choose sorting fields.
Glances shows information as much as they can be fitted in terminal window size. You can turn off sections by keys, separately, if you don't need them.

It also support server mode, a client can use XML-RPC call to get the system information in JSON format. It's possible to write your own client if you don't like default text-based client or you can write a GUI or web interface to display the data. It supports Linux, Mac OS, and Windows, although no default client for Windows, it will only runs as server due to no curses module available on Windows platform.

Glances is only one-year-old, first released on December 4, 2011, there are many possibilities for improvements. For example, configuration file for colors or disabling sections by default. Also custom fields for processes, and the list can go on and on.

I was intrigued by its name when I first heard of it and the idea behind this program is useful and simple. You don't need to run several programs to get all information of a system. You can have everything on one screen, even status of multiple systems at same time with client/server mode and terminal multiplexer.



I have just been using Wakoopa 1.1.1 on Linux. It works very well. I have wanted to try it when it was not ready for Linux. I do know how long it has started supporting Linux, it surely does it great because it also have a 64-bit client. The packages only are for DEB and RPM package managements, but the binary tarball is easy to use.



The only problem I have is it is not able to detect the CLI/TUI programs, simply because it has no easy way to determine which CLI/TUI program you are currently using. As in X, we have many different terminal emulator, then few terminal window managers. It is nearly impossible that you could tell which is running by a code. We also still have virtual consoles, but this probably not the case to talk because Wakoopa is a GUI program. Not many people will use X and switch to virtual console to work.



The web tracking works normally with Firefox 3.5.5. But I am not satisfied with it, it uses CrunchBase as the website database. But as I checked up on CrunchBase, it is really a company-oriented. I don't see gnu.org or kernel.org in it.



I may be using Wakoopa for a little longer. It really couldn't fully reflect my use on computer. I stay a lot of time in terminal. I know I can use gvim instead of vim, but I rather not to. I think Wakoopa is better for Windows and OS X users, because the normal users of theirs are stuck to GUI programs.