Round 317: Ipmitool ext, Lm-sensors ext, Turbostat ext, Cpupower ext, Numactl ext (20 commands)
ober
b5524313d6f450a63405a6420e24febc31c230b0
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 317 — Ipmitool ext, Lm-sensors ext, Turbostat ext, Cpupower ext, Numactl ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `ipmitool-sensor` | :orange_circle: | List IPMI sensor readings | +| `ipmitool-sdr` | :orange_circle: | Show SDR repository | +| `ipmitool-sel` | :orange_circle: | Show system event log | +| `ipmitool-chassis` | :orange_circle: | Show chassis status | +| `lm-sensors-detect` | :orange_circle: | Detect hardware monitors | +| `lm-sensors-show` | :orange_circle: | Show all sensor readings | +| `lm-sensors-fan` | :orange_circle: | Show fan speeds | +| `lm-sensors-temp` | :orange_circle: | Show temperatures | +| `turbostat-show` | :orange_circle: | Show CPU frequency/power | +| `turbostat-interval` | :orange_circle: | Monitor at interval | +| `turbostat-summary` | :orange_circle: | Show turbostat summary | +| `turbostat-package` | :orange_circle: | Show package stats | +| `cpupower-frequency` | :orange_circle: | Show frequency info | +| `cpupower-info` | :orange_circle: | Show CPU power info | +| `cpupower-governor` | :orange_circle: | Set CPU governor | +| `cpupower-idle` | :orange_circle: | Show idle state info | +| `numactl-show` | :orange_circle: | Show NUMA policy | +| `numactl-hardware` | :orange_circle: | Show NUMA topology | +| `numactl-bind` | :orange_circle: | Bind to NUMA node | +| `numactl-interleave` | :orange_circle: | Interleave across nodes | + ### Round 316 — Smartctl ext, Hdparm ext, Sdparm ext, Nvme ext, Fio ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -23829,4 +23829,54 @@ (let* ((echo (app-state-echo app))) (echo-read-string echo "Result files: " (lambda (files) - (echo-message! echo (str "Fio: comparing " files)))))) \ No newline at end of file + (echo-message! echo (str "Fio: comparing " files)))))) + +;;; Round 317 — Turbostat ext, Cpupower ext, Numactl ext (batch 2) + +(def (cmd-turbostat-summary app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Turbostat: showing summary"))) + +(def (cmd-turbostat-package app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Package ID: " + (lambda (pkg) + (echo-message! echo (str "Turbostat: showing package " pkg)))))) + +(def (cmd-cpupower-frequency app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cpupower: showing frequency info"))) + +(def (cmd-cpupower-info app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cpupower: showing CPU power info"))) + +(def (cmd-cpupower-governor app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Governor: " + (lambda (gov) + (echo-message! echo (str "Cpupower: setting governor to " gov)))))) + +(def (cmd-cpupower-idle app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cpupower: showing idle state info"))) + +(def (cmd-numactl-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Numactl: showing NUMA policy"))) + +(def (cmd-numactl-hardware app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Numactl: showing hardware topology"))) + +(def (cmd-numactl-bind app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "NUMA node: " + (lambda (node) + (echo-message! echo (str "Numactl: binding to node " node)))))) + +(def (cmd-numactl-interleave app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Nodes: " + (lambda (nodes) + (echo-message! echo (str "Numactl: interleaving across " nodes)))))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -24540,3 +24540,47 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "Sdparm: listing parameters"))) +;;; Round 317 — Ipmitool ext, Lm-sensors ext, Turbostat ext, Cpupower ext, Numactl ext (batch 1) + +(def (cmd-ipmitool-sensor app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IPMI: listing sensor readings"))) + +(def (cmd-ipmitool-sdr app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IPMI: showing SDR repository"))) + +(def (cmd-ipmitool-sel app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IPMI: showing system event log"))) + +(def (cmd-ipmitool-chassis app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "IPMI: showing chassis status"))) + +(def (cmd-lm-sensors-detect app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sensors: detecting hardware monitors"))) + +(def (cmd-lm-sensors-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sensors: showing all readings"))) + +(def (cmd-lm-sensors-fan app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sensors: showing fan speeds"))) + +(def (cmd-lm-sensors-temp app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sensors: showing temperatures"))) + +(def (cmd-turbostat-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Turbostat: showing CPU frequency/power"))) + +(def (cmd-turbostat-interval app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Interval (seconds): " + (lambda (sec) + (echo-message! echo (str "Turbostat: monitoring every " sec "s")))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -8074,4 +8074,25 @@ (register-command! 'fio-parse cmd-fio-parse) (register-command! 'fio-generate cmd-fio-generate) (register-command! 'fio-compare cmd-fio-compare) + ;; Round 317 + (register-command! 'ipmitool-sensor cmd-ipmitool-sensor) + (register-command! 'ipmitool-sdr cmd-ipmitool-sdr) + (register-command! 'ipmitool-sel cmd-ipmitool-sel) + (register-command! 'ipmitool-chassis cmd-ipmitool-chassis) + (register-command! 'lm-sensors-detect cmd-lm-sensors-detect) + (register-command! 'lm-sensors-show cmd-lm-sensors-show) + (register-command! 'lm-sensors-fan cmd-lm-sensors-fan) + (register-command! 'lm-sensors-temp cmd-lm-sensors-temp) + (register-command! 'turbostat-show cmd-turbostat-show) + (register-command! 'turbostat-interval cmd-turbostat-interval) + (register-command! 'turbostat-summary cmd-turbostat-summary) + (register-command! 'turbostat-package cmd-turbostat-package) + (register-command! 'cpupower-frequency cmd-cpupower-frequency) + (register-command! 'cpupower-info cmd-cpupower-info) + (register-command! 'cpupower-governor cmd-cpupower-governor) + (register-command! 'cpupower-idle cmd-cpupower-idle) + (register-command! 'numactl-show cmd-numactl-show) + (register-command! 'numactl-hardware cmd-numactl-hardware) + (register-command! 'numactl-bind cmd-numactl-bind) + (register-command! 'numactl-interleave cmd-numactl-interleave) )