From: Matthieu Herrb Subject: human readable CPU frequencies in systat To: tech@openbsd.org Date: Mon, 4 Nov 2024 19:11:30 +0100 Hi, The crude patch below makes CPU frequencies human readable with -h in `systat sensors` I don't know if there is a better / cleaner way. Index: Makefile =================================================================== RCS file: /local/cvs/src/usr.bin/systat/Makefile,v diff -u -p -u -r1.28 Makefile --- Makefile 30 May 2018 13:43:50 -0000 1.28 +++ Makefile 4 Nov 2024 18:07:52 -0000 @@ -12,6 +12,6 @@ SRCS= dkstats.c engine.c if.c inetname.c pool.c malloc.c cpu.c uvm.c DPADD= ${LIBCURSES} ${LIBM} ${LIBKVM} -LDADD= -lcurses -lm -lkvm +LDADD= -lcurses -lm -lkvm -lutil .include Index: sensors.c =================================================================== RCS file: /local/cvs/src/usr.bin/systat/sensors.c,v diff -u -p -u -r1.32 sensors.c --- sensors.c 15 Jul 2020 07:13:56 -0000 1.32 +++ sensors.c 4 Nov 2024 18:07:52 -0000 @@ -29,6 +29,7 @@ #include #include #include +#include #include "systat.h" struct sensor sensor; @@ -274,7 +275,12 @@ showsensor(struct sensinfo *s) tbprintf("%3.2f%%", s->sn_value / 1000.0); break; case SENSOR_FREQ: - tbprintf("%11.2f Hz", s->sn_value / 1000000.0); + if (humanreadable) { + char buf[FMT_SCALED_STRSIZE]; + fmt_scaled(s->sn_value / 1000000.0, buf); + tbprintf("%sHz", buf); + } else + tbprintf("%11.2f Hz", s->sn_value / 1000000.0); break; case SENSOR_ANGLE: tbprintf("%3.4f degrees", s->sn_value / 1000000.0); -- Matthieu Herrb