[about] [index] [prev] [2021-08-24 13:52:47+03:00] [f0cadf30e9252fd3170447a7a27a20d29cfe7199]

godwmstat

http://www.git.stargrave.org/?p=godwmstat.git;a=blob;f=main.go
Раз лампочек о дисковой активности нету, то придётся выносить
самостоятельно в status bar dwm-а. Прежде у меня был shell скрипт с
бесконечным циклом и sleep-ом, который вызывал всякие внешние утилиты,
парся их вывод. Но для дисковой и сетевой активности мне хочется
обновления куда более частого, чем 20-30сек. В итоге, взял и вообще
полностью всю эту статистику написал на Go. Python я уже не беру в руки
даже для таких вещей. Вызываются один раз iostat, netstat, top с
указанием что они должны раз в n-секунд обновлять статистику.
Существенно более лёгкая штука должна быть, ибо единственный процесс
который вызывается регулярно, это xsetroot для выставления значения
status bar-а. Выводит (в одну строчку):

    [IO 0/70 0/72]
    [Net 11/6]
    [CPU 53.9 0.8 0.2]
    [29M Mem 38G Active 969M Inact 247M Laundry 10G Wired 13G Free ARC 8866M]
    [FM WG] 2021-08-24 13:55:42

* Кол-во read/write транзакций на диск
* Кол-во входящих/исходящих пакетов по сети
* User, system и interrupt CPU нагрузка в процентах.
  idle и nice проигнорированы
* Данные о памяти, swap (у меня аж 29MB в нём оказалось), размере ARC
* Флаговые файлы (FM, WG)
* Время

Я всё удивлялся на кой чёрт так много людей пишут эти статусы на
каком-нибудь Си для dwm-а, ведь всё же можно на shell осилить. Но
вот и я дошёл до нормального компилируемого языка для этой задачи.

[leave comment]