henrygd
d656036d3b
agent: refactor new battery package ( #1872 )
2026-04-02 21:07:14 -04:00
svenvg93
80b73c7faf
feat: implement the battery diectly instead of depency
2026-04-02 21:07:14 -04:00
Sven van Ginkel
7f565a3086
fix(agent): show correct NVMe capacity for Apple SSDs ( #1873 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-04-02 15:36:05 -04:00
henrygd
f670e868e4
agent: add SENSORS_TIMEOUT env var ( #1871 )
2026-04-02 15:10:49 -04:00
henrygd
7f4f14b505
fix(agent,windows): raise timeout on first sensor collection to allow LHM to start
2026-03-31 16:10:59 -04:00
henrygd
2fda4ff264
agent: update LibreHardwareMonitorLib to 0.9.6
2026-03-31 15:55:02 -04:00
henrygd
cef09d7cb1
fix(agent): fix windows root disk detection if exe not running on root disk ( #1863 )
2026-03-31 12:58:42 -04:00
Sven van Ginkel
80135fdad3
fix(agent): exclude nested virtual fs when mounting host root to /extra-filesystems in Docker ( #1859 )
2026-03-30 13:48:54 -04:00
henrygd
6a207c33fa
agent: change disk.Partitions(false) to true - likely fixes empty partition list in docker as of gopsutil 4.26.2
2026-03-29 12:33:45 -04:00
henrygd
afdc3f7779
fix(agent): allow GPU_COLLECTOR=nvml without nvidia-smi ( #1849 )
2026-03-28 18:58:16 -04:00
henrygd
a227c77526
agent: detect podman correctly when using socket proxy ( #1846 )
2026-03-28 17:43:29 -04:00
henrygd
b53fdbe0ef
fix(agent): find macmon if /opt/homebrew/bin is not in path ( #1746 )
2026-03-27 13:52:22 -04:00
Jim Haff
ad21cab457
Prevent temperature collection from blocking agent stats ( #1839 )
2026-03-26 20:03:51 -04:00
henrygd
e3e453140e
fix(agent): isolate container network rate tracking per cache interval
...
Previously, the agent shared a single PrevReadTime timestamp across all
collection intervals (e.g., 1s and 60s). This caused the 60s collector
to divide its accumulated 60s byte delta by the tiny time elapsed since
the last 1s collection, resulting in astronomically inflated network
rates. The fix introduces per-cache-time read time tracking, ensuring
calculations for each interval use their own independent timing context.
2026-03-24 13:07:56 -04:00
henrygd
be70840609
test: update tests that use os.Setenv to t.Setenv
2026-03-20 15:00:28 -04:00
henrygd
48ddc96a0d
systemd: allow timer monitoring with SERVICE_PATTERNS ( #1820 )
2026-03-17 15:11:44 -04:00
henrygd
ed50367f70
fix(agent): add fallback for podman container health ( #1475 )
2026-03-15 17:59:59 -04:00
henrygd
5bfe4f6970
agent: include ip in container port if not 0.0.0.0 or ::
2026-03-15 14:58:21 -04:00
henrygd
380d2b1091
add ports column to containers table ( #1481 )
2026-03-14 19:29:39 -04:00
henrygd
a7f99e7a8c
agent: support new Docker API Health field ( #1475 )
2026-03-14 15:26:44 -04:00
henrygd
bd94a9d142
agent: improve disk discovery / IO mapping and add tests ( #1811 )
2026-03-13 16:03:27 -04:00
henrygd
e527534016
ensure deprecated system fields are migrated to newer structures
...
also removes refs to legacy load avg fields (l1, l5, l15) that were
around for a very short period
2026-03-10 18:46:57 -04:00
VACInc
963fce5a33
agent: mark mdraid rebuild as warning, not failed ( #1797 )
2026-03-09 17:54:53 -04:00
Sven van Ginkel
d38c0da06d
fix: bypass NIC auto-filter when interface is explicitly whitelisted via NICS ( #1805 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-03-09 17:47:59 -04:00
henrygd
6b1ff264f2
gpu(amd): add workaround for misreported sysfs filesize ( #1799 )
2026-03-09 14:53:52 -04:00
henrygd
5e1b028130
refactor(smart): improve perf by skipping ata_device_statistics parsing if unnecessary
2026-03-08 15:19:50 -04:00
henrygd
638e7dc12a
fix(smart): handle negative ATA device statistics values ( #1791 )
2026-03-08 13:34:16 -04:00
henrygd
73c262455d
refactor(agent): move GetEnv to utils package
2026-03-07 14:12:17 -05:00
henrygd
0c4d2edd45
refactor(agent): add utils package; rm utils.go and fs_utils.go
2026-03-07 13:50:49 -05:00
henrygd
8f23fff1c9
refactor: mdraid comments and organization
...
also hide serial / firmware in smart details if empty, remove a few
unnecessary ops, and add a few more passed state values
2026-02-27 14:23:10 -05:00
VACInc
02c1a0c13d
Add Linux mdraid health monitoring ( #1750 )
2026-02-27 13:42:47 -05:00
henrygd
69fdcb36ab
support ZFS ARC on freebsd
2026-02-26 18:38:54 -05:00
henrygd
b91eb6de40
improve root I/O device detection and fallback ( #1772 )
...
- Match FILESYSTEM directly against I/O devices if partition lookup
fails
- Fall back to the most active I/O device if no root device is detected
- Add WARN logs in final fallback case to most active device
2026-02-26 18:11:33 -05:00
henrygd
ec69f6c6e0
improve disk I/O device matching for partition-to-disk mismatches ( #1772 )
...
findIoDevice now normalizes device names and falls back to prefix-based
matching when partition names differ from IOCounter names (e.g. nda0p2 →
nda0 on FreeBSD). The most-active prefix-related device is selected,
avoiding the broad "most active of all" heuristic that caused Docker
misattribution in #1737 .
2026-02-26 16:59:12 -05:00
henrygd
004841717a
add checks for non-empty CPU times during initialization ( #401 )
2026-02-25 19:04:29 -05:00
henrygd
12545b4b6d
fix: dedupe root-mirrored extra filesystems during disk discovery ( #1428 )
2026-02-24 15:41:29 -05:00
henrygd
04600d83cc
refactor: small go 1.26 updates and go fix changes
2026-02-19 18:04:33 -05:00
henrygd
5d8906c9b2
amd gpu: small refactor + trim "series" from device name
2026-02-19 17:39:13 -05:00
henrygd
1e3a44e05d
agent: improve multiplexed logs detection for podman ( #1755 )
2026-02-18 17:45:37 -05:00
henrygd
311095cfdd
harden against docker api path traversal
...
Validate container IDs (12-64 hex) in hub container endpoints and agent
Docker requests, and build Docker URLs with escaped path segments. Add
regression tests for traversal/malformed container inputs and safe
endpoint construction.
2026-02-18 17:33:00 -05:00
henrygd
e1c1e97f0a
chore: update go version / go deps / changelog
2026-02-18 16:17:05 -05:00
henrygd
f6b2824ccc
rename gpu_apple_unsupported.go to gpu_darwin_unsupported.go
2026-02-18 15:15:58 -05:00
henrygd
f17ffc21b8
gate apple gpu collectors + revert readme change
2026-02-18 14:57:41 -05:00
Robert Accettura
f792f9b102
Mac GPU Stats ( #1747 )
2026-02-18 14:51:30 -05:00
henrygd
1def7d8d3a
agent: add dockerManager.retrySleep method to mock time.Sleep in tests
2026-02-18 13:45:03 -05:00
Elio Di Nino
ef92b254bf
fix(agent): Retry Docker check on non-200 HTTP response ( #1754 )
...
The previous behavior only caught some errors including inaccessible
hosts, but not others like failed authentication or service
unavailability. This largely applies when using a socket proxy and
having the retry mitigates some erroneous behavior.
2026-02-18 13:42:58 -05:00
henrygd
283fa9d5c2
include GTT memory in AMD GPU metrics ( #1569 )
2026-02-13 20:06:37 -05:00
henrygd
04d54a3efc
update sysfs amd collector to pull pretty name from amdgpu.ids ( #1569 )
2026-02-13 19:41:40 -05:00
henrygd
14ecb1b069
add nvtop integration and introduce GPU_COLLECTOR env var
2026-02-13 19:41:40 -05:00
VACInc
e816ea143a
SMART: add eMMC health via sysfs ( #1736 )
...
* SMART: add eMMC health via sysfs
Read eMMC wear/EOL indicators from /sys/class/block/mmcblk*/device and expose in SMART device list. Includes mocked sysfs tests and UI tweaks for unknown temps.
* small optimizations for emmc scan and parsing
* smart: keep smartctl optional only for Linux hosts with eMMC
* update smart alerts to handle warning state
* refactor: rename binPath to smartctlPath and replace hasSmartctl with smartctlPath checks
---------
Co-authored-by: henrygd <hank@henrygd.me >
2026-02-12 15:27:42 -05:00