tickwatch ========= Demo ---- ```terminal ❯ tickwatch --range=0:100000 --change=/sys/class/net/enp2s0/statistics/rx_packets 2024-11-24 22:43+0100 ..............._______▁_______▁___▁__▁▁▁_____▁_▁___▂______▂_ 2024-11-24 22:44+0100 _______▁___▁_____▂_____________________▂▃▂▅▆▆▂▂▄▄▄▅▇▇▇▆▆▆▇▇▇ 2024-11-24 22:45+0100 ▇▆▆▆▆▆▆▆▇▇▇▇▇▇▇▇▇▇▇▇_____▂___________▁_________________▁___▅ 2024-11-24 22:46+0100 ___▃__▃▁▂▄▅▅__________▁__▁▃_▆▂______▁______▂▅_▂________▂▅_▂_ 2024-11-24 22:47+0100 ▁▆__▁▁▁▄▆▂_▁▅▁▂▁__________▂_▁▂▂▄_▁_▁▁▁___▁▁▁_____▁______▁___ 2024-11-24 22:48+0100 ▂_______▁___▁___▁___▁___▁▂▂_▃▁_▅▂▁▂▁▁▁▂▂▁_▃▁_▂▂▃▁______▁_▂_▂ 2024-11-24 22:49+0100 ▅▁_▁__▂_▁▅▄__▃▂___▂___▁___▁_______▁___▁_____▁_▁________▁___▂ ``` CLI usage --------- ```helptext tickwatch: A monitoring and visualization tool Usage: tickwatch [OPTIONS] Monitor options: --ping=HOST Monitor ping latency to specified IP or hostname Prefix hostname with 4/ or 6/ to force IP version --value=PATH Monitor a sysfs file's value --change=PATH Monitor changes in a sysfs file's value Display options: --range=MIN:MAX Set range of values (default: 0:1000) --scale=CHOICE Set scaling method for values Choices: log2 (default), log10, ln, linear --symbols=CHOICE Set output symbol set Choices: unicode (default), numeric --timestamp=CHOICE Set line header timestamp format Choices: datetime (default), unix, none Other options: --help, -h Display this help message --version, -v Display the version Examples: tickwatch --ping=6/euxane.net tickwatch --range=0:100000 \ --change=/sys/class/net/eth0/statistics/rx_packets tickwatch --scale=linear --range=0:50000 \ --value=/sys/class/thermal/thermal_zone0/temp ``` Packages -------- * Distribution packages: * Running the latest development version with Nix: `nix run 'git+https://cgit.euxane.net/tickwatch?ref=main' -- --help` Contributions ------------- Issues and patches: email the author. Development commands -------------------- * Enter the development shell: `nix develop` * Run tests in loop: `watchexec -cclear -r nim r -d:test main.nim` * Build executable: `nim c -d:release main.nim` Copyright and Licence --------------------- Copyright 2024 Euxane TRAN-GIRARD. This code is published under the terms of the European Union Public Licence, version 1.2. See `licence.txt`.