Commit Graph

13 Commits

Author SHA1 Message Date
4b52382326 another clippy cleanup 2025-08-11 22:45:24 -07:00
11506699e3 clippy clean up 2025-08-11 22:44:43 -07:00
4c6c707dd0 struct cleanup 2025-08-11 22:41:12 -07:00
d69a4104fc performance improvements and formatting cleanup 2025-08-11 22:37:46 -07:00
c3f81eef25 clippy code clean up
clippy code clean up
2025-08-11 20:47:21 -07:00
05276f9eea fix clippy issues causing workflow failure. 2025-08-11 14:39:19 -07:00
0105b29bfc fix additional clippy warnings. 2025-08-11 14:34:45 -07:00
250f7bf93a remove unused vendor field. 2025-08-11 14:25:58 -07:00
bdfa74be54 add license for socktop_agent 2025-08-11 12:10:40 -07:00
20278d67f1 new feature: gpu support 2025-08-11 12:04:55 -07:00
274a485f8d fmt: apply rustfmt 2025-08-08 17:25:15 -07:00
100434fc3c Major refactor, additional comments, performance improvements, idle performance improvements, access token, port specification
Release highlights

Introduced split client/agent architecture with a ratatui-based TUI and a lightweight WebSocket agent.
Added adaptive (idle-aware) sampler: agent samples fast only when clients are connected; sleeps when idle.
Implemented metrics JSON caching for instant ws replies; cold-start does one-off collection.
Port configuration: --port/-p, positional PORT, or SOCKTOP_PORT env (default 3000).
Optional token auth: SOCKTOP_TOKEN on agent, ws://HOST:PORT/ws?token=VALUE in client.
Logging via tracing with RUST_LOG control.
CI workflow (fmt, clippy, build) for Linux and Windows.
Systemd unit example for always-on agent.
TUI features

CPU: overall sparkline + per-core history with trend arrows and color thresholds.
Memory/Swap gauges with humanized labels.
Disks panel with per-device usage and icons.
Network download/upload sparklines (KB/s) with peak tracking.
Top processes table (PID, name, CPU%, mem, mem%).
Header with hostname and CPU temperature indicator.
Agent changes

sysinfo 0.36.1 targeted refresh: refresh_cpu_all, refresh_memory, refresh_processes_specifics(ProcessesToUpdate::All, ProcessRefreshKind::new().with_cpu().with_memory(), true).
WebSocket handler: client counting with wake notifications, cold-start handling, proper Response returns.
Sampler uses MissedTickBehavior::Skip to avoid catch-up bursts.
Docs

README updates: running instructions, port configuration, optional token auth, platform notes, example JSON.
Added socktop-agent.service systemd unit.
Platform notes

Linux (AMD/Intel) supported; tested on AMD, targeting Intel next.
Raspberry Pi supported (availability of temps varies by model).
Windows builds/run; CPU temperature may be unavailable (shows N/A).
Known/next

Roadmap includes configurable refresh interval, TUI filtering/sorting, TLS/WSS, and export to file.
Add Context...
README.md
2025-08-08 12:41:32 -07:00
jasonwitty
fac09b381f initial checkin 2025-08-08 01:03:35 -07:00