blob: f0c3cc7c7964344a3dd1c783b72a1b173a75d72d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
tickwatch
=========
Demo
----
```terminal
❯ tickwatch --max=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:
--scale=CHOICE Set scaling method for values
Choices: log2 (default), log10, ln, linear
--symbols=CHOICE Set output symbol set
Choices: unicode (default), numeric
--min=VALUE Set minimum value for scaling (default: 0)
--max=VALUE Set maximum value for scaling (default: 1000)
Other options:
--help, -h Display this help message
--version, -v Display the version
Examples:
tickwatch --ping=6/euxane.net
tickwatch --scale=linear --max=50000 \
--value=/sys/class/thermal/thermal_zone0/temp
tickwatch --max=100000 \
--change=/sys/class/net/eth0/statistics/rx_packets
```
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`.
|