henrygd
4547ff7b5d
refactor: unify agent communication with Transport interface
...
- Introduce `Transport` interface to abstract WebSocket and SSH
communication
- Add generic `Data` field to `AgentResponse` for streamlined future
endpoints
- Maintain backward compatibility with legacy hubs and agents using
typed fields
- Unify fetch operations (SMART, systemd, containers) under a single
`request` method
- Improve `RequestManager` with deadline awareness and legacy response
support
- Refactor agent response routing into dedicated `agent/response.go`
- Update version to 0.18.0-beta.2
2026-01-05 13:13:55 -05:00
henrygd
e7b4be3dc5
fix(agent): update GPU average calculation tests to account for suspended state detection
2026-01-05 13:09:17 -05:00
henrygd
2bd85e04fc
add experimental nvml gpu collector ( #1522 )
2025-12-21 17:10:42 -05:00
henrygd
a9068a11a9
add SMART_INTERVAL env var with background smart data fetching
2025-12-19 16:14:31 -05:00
Jesper Ek
d17685c540
fix non unique fingerprint ( #1556 )
2025-12-18 18:21:19 -05:00
henrygd
e59f8eee36
add system_details collection for infrequently updated data
...
- add includedetails flag to data requests for better efficiency
- integrate docker host info api for better os detection
- pull more OS details as well as cpu arch
- separate info bar component and refactor for new info
2025-12-18 17:26:05 -05:00
henrygd
96196a353c
smart: fallback to nvme namespace path if base controller path fails ( #1504 )
2025-12-10 14:09:20 -05:00
henrygd
8d41a797d3
add battery charge to systems table
2025-12-08 18:20:51 -05:00
henrygd
4c9b00a066
add low battery alert ( #1507 )
2025-12-08 15:19:46 -05:00
henrygd
7d1f8bb180
raise smartctl timeout to 15 seconds ( #1465 )
2025-12-05 14:59:11 -05:00
henrygd
fe550c5901
refactor decodeDockerLogStream
2025-12-02 18:22:22 -05:00
henrygd
394c476f2a
strip ansi escape sequences from docker logs ( #1478 )
2025-11-30 14:36:00 -05:00
henrygd
86e8a141ea
add DISK_USAGE_CACHE env var ( #1426 )
2025-11-30 14:21:00 -05:00
henrygd
ca4988951f
add SKIP_SYSTEMD env var ( #1448 )
2025-11-19 17:21:30 -05:00
henrygd
4bfe9dd5ad
add missing systemd methods for nonlinux
2025-11-14 17:28:40 -05:00
henrygd
3650482b09
refactor: move getRootMountPoint to disk.go
2025-11-14 14:06:46 -05:00
Arush Wadhawan
79adfd2c0d
fix: detect and handle immutable filesystems like Fedora Silverblue ( #1405 )
2025-11-14 14:03:26 -05:00
henrygd
f64478b75e
add SERVICE_PATTERNS env var ( #1153 )
2025-11-13 16:11:24 -05:00
henrygd
854a3697d7
add services column to all systems table
2025-11-13 15:09:48 -05:00
henrygd
b722ccc5bc
show additional disk percentages in systems table ( #1365 )
2025-11-12 14:15:45 -05:00
henrygd
f64a361c60
add EXCLUDE_SMART env var ( #1392 )
2025-11-11 16:05:00 -05:00
henrygd
01d20562f0
add basic systemd service monitoring ( #1153 )
...
Co-authored-by: Shelby Tucker <shelby.tucker@gmail.com >
2025-11-10 17:04:51 -05:00
henrygd
cbe6ee6499
fix battery nil pointer error ( #1353 )
2025-11-10 15:16:50 -05:00
henrygd
1af7ff600f
embed smartctl in the windows binary ( #1362 )
2025-11-05 13:03:47 -05:00
henrygd
954400ea45
fix intel_gpu_top parsing when engine instance id is in column ( #1230 )
2025-11-04 16:02:20 -05:00
henrygd
d77ee5554f
add fallback paths for smartctl lookup ( #1362 , #1363 )
2025-11-04 14:06:28 -05:00
henrygd
fc0947aa04
fix windows extra disk backslash issue ( #1361 )
2025-11-03 17:42:08 -05:00
henrygd
6a562ce03b
add more cpu metrics ( #1356 )
...
- adds monitoring for cpu state time and per-core usage
Co-authored-by: Sven van Ginkel <svenvanginkel@icloud.com >
2025-11-01 12:57:58 -04:00
henrygd
3dbc48727e
add INTEL_GPU_DEVICE env var ( #1285 )
2025-11-01 11:12:05 -04:00
henrygd
85ac2e5e9a
update env var name to EXCLUDE_CONTAINERS #1352
2025-10-30 19:30:01 -04:00
Sven van Ginkel
af6bd4e505
[Feature] Add env var to exclude containers from being monitored ( #1352 )
2025-10-30 19:02:09 -04:00
henrygd
85169b6c5e
improve parsing of edge case smart power on times ( #1347 )
2025-10-30 16:32:06 -04:00
henrygd
e898768997
fix battery nil pointer error #1353
2025-10-30 12:52:33 -04:00
henrygd
365d291393
improve smart device detection ( #1345 )
...
also fix virtual device filtering
2025-10-29 01:16:58 -04:00
henrygd
3dbab24c0f
improve identification of smart drive types ( #1345 )
2025-10-28 22:37:47 -04:00
henrygd
cd9c2bd9ab
update logs in smart.go
...
also change max execution time to 2 sec
2025-10-28 17:34:49 -04:00
henrygd
b22a6472fc
missed staging this earlier :)
2025-10-28 16:44:34 -04:00
henrygd
473cb7f437
merge SMART_DEVICES with devices returned from smartctl scan
2025-10-28 15:38:47 -04:00
henrygd
783ed9f456
cache smartctl scan results for 10 min w/ force option
...
also add support for sntrealtek
2025-10-28 14:01:45 -04:00
henrygd
9a9a89ee50
handle when power on smart attribute is a string like 0h+0m+0.000s
2025-10-28 13:44:31 -04:00
henrygd
b3e9857448
add SMART_DEVICES env var ( #373 , #1335 )
...
also iterate through parsers to try to find a match if type is not defined.
2025-10-27 15:26:29 -04:00
henrygd
2eda9eb0e3
add support for scsi and sntasmedia smart data ( #373 , #1335 )
2025-10-27 14:39:12 -04:00
Sven van Ginkel
f11564a7ac
Skip virtual disks ( #1332 )
2025-10-27 11:44:21 -04:00
henrygd
7cf123a99e
fix: limit frame and total sizes when reading docker logs ( #1322 )
...
- Add per-frame size limit (1MB) to prevent single massive log entries
- Add total log size limit (5MB) for network transfer and browser rendering
- Gracefully truncate logs that exceed limits instead of consuming unbounded memory
2025-10-26 11:02:18 -04:00
henrygd
b107d12a62
smart support over ssh + change response code for smart failure
2025-10-26 10:33:34 -04:00
henrygd
74b78e96b3
pre release refactoring + update changelog
2025-10-25 16:34:32 -04:00
henrygd
1dee63a0eb
update HasReadableBattery to check all batteries
2025-10-25 14:06:25 -04:00
Nathan Heaps
d608cf0955
fix: send battery stats even if some batteries are missing stats ( #1287 )
...
Implement battery error reporting mechanism
Added error reporting for battery information retrieval.
Handles cases like bluetooth devices where `battery` finds it but it has incomplete information about that battery, which would have otherwise caused a null pointer error.
Related: #1254
2025-10-25 13:23:29 -04:00
henrygd
b9139a1f9b
strip env vars from container detail ( #1305 )
2025-10-25 12:58:13 -04:00
henrygd
962613df7c
Add initial S.M.A.R.T. support
...
- Implement SmartManager for collecting SMART data from SATA and NVMe drives
- Add smartctl-based data collection with standby mode detection
- Support comprehensive SMART attributes parsing and storage
- Add hub API endpoint for fetching SMART data from agents
- Create SMART table UI with detailed disk information
Co-authored-by: geekifan <i@ifan.dev >
2025-10-24 18:54:56 -04:00