socktop/Cargo.lock

3347 lines
83 KiB
Plaintext
Raw Normal View History

2025-08-08 08:03:35 +00:00
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "adler2"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
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 19:41:32 +00:00
[[package]]
name = "aho-corasick"
2025-11-17 23:09:53 +00:00
version = "1.1.4"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
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 19:41:32 +00:00
dependencies = [
"memchr",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "allocator-api2"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
[[package]]
name = "android_system_properties"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
dependencies = [
"libc",
]
[[package]]
name = "anstyle"
2025-11-17 23:09:53 +00:00
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
2025-08-08 08:03:35 +00:00
[[package]]
name = "anyhow"
2025-11-17 23:09:53 +00:00
version = "1.0.100"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
2025-08-08 08:03:35 +00:00
[[package]]
name = "arc-swap"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
[[package]]
name = "assert_cmd"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85"
dependencies = [
"anstyle",
"bstr",
"libc",
"predicates",
"predicates-core",
"predicates-tree",
"wait-timeout",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "async-trait"
2025-11-17 23:09:53 +00:00
version = "0.1.89"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "atomic-waker"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
2025-08-08 08:03:35 +00:00
[[package]]
name = "autocfg"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "aws-lc-rs"
2025-11-17 23:09:53 +00:00
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "5932a7d9d28b0d2ea34c6b3779d35e3dd6f6345317c34e73438c4f1f29144151"
dependencies = [
"aws-lc-sys",
"zeroize",
]
[[package]]
name = "aws-lc-sys"
2025-11-17 23:09:53 +00:00
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "1826f2e4cfc2cd19ee53c42fbf68e2f81ec21108e0b7ecf6a71cf062137360fc"
dependencies = [
"bindgen",
"cc",
"cmake",
"dunce",
"fs_extra",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "axum"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
dependencies = [
"async-trait",
"axum-core",
"axum-macros",
"base64",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"futures-util",
"http",
"http-body",
"http-body-util",
"hyper",
"hyper-util",
"itoa",
"matchit",
"memchr",
"mime",
"percent-encoding",
"pin-project-lite",
"rustversion",
"serde",
"serde_json",
"serde_path_to_error",
"serde_urlencoded",
"sha1",
"sync_wrapper",
"tokio",
"tokio-tungstenite 0.24.0",
2025-11-17 23:09:53 +00:00
"tower",
2025-08-08 08:03:35 +00:00
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "axum-core"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
dependencies = [
"async-trait",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"futures-util",
"http",
"http-body",
"http-body-util",
"mime",
"pin-project-lite",
"rustversion",
"sync_wrapper",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "axum-macros"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "axum-server"
2025-11-17 23:09:53 +00:00
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "c1ab4a3ec9ea8a657c72d99a03a824af695bd0fb5ec639ccbd9cd3543b41a5f9"
dependencies = [
"arc-swap",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-11-17 23:09:53 +00:00
"fs-err",
"http",
"http-body",
"hyper",
"hyper-util",
"pin-project-lite",
2025-11-17 23:09:53 +00:00
"rustls",
"rustls-pemfile",
2025-11-17 23:09:53 +00:00
"rustls-pki-types",
"tokio",
2025-11-17 23:09:53 +00:00
"tokio-rustls",
"tower-service",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "base64"
version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "bindgen"
2025-11-17 23:09:53 +00:00
version = "0.72.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
"cexpr",
"clang-sys",
2025-11-17 23:09:53 +00:00
"itertools 0.13.0",
"log",
"prettyplease",
"proc-macro2",
"quote",
"regex",
"rustc-hash",
"shlex",
"syn",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "bitflags"
2025-11-17 23:09:53 +00:00
version = "2.10.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
2025-08-08 08:03:35 +00:00
[[package]]
name = "block-buffer"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
dependencies = [
"generic-array",
]
[[package]]
name = "bstr"
2025-11-17 23:09:53 +00:00
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
dependencies = [
"memchr",
2025-11-17 23:09:53 +00:00
"regex-automata",
"serde",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "bumpalo"
version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
2025-11-17 23:09:53 +00:00
version = "1.11.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
2025-08-08 08:03:35 +00:00
[[package]]
name = "cassowary"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
[[package]]
name = "castaway"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a"
dependencies = [
"rustversion",
]
[[package]]
name = "cc"
2025-11-17 23:09:53 +00:00
version = "1.2.46"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36"
2025-08-08 08:03:35 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"find-msvc-tools",
"jobserver",
"libc",
2025-08-08 08:03:35 +00:00
"shlex",
]
[[package]]
name = "cexpr"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
dependencies = [
"nom",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "cfg-if"
2025-11-17 23:09:53 +00:00
version = "1.0.4"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
2025-08-08 08:03:35 +00:00
[[package]]
name = "chrono"
2025-11-17 23:09:53 +00:00
version = "0.4.42"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
2025-08-08 08:03:35 +00:00
dependencies = [
"iana-time-zone",
"num-traits",
"serde",
2025-11-17 23:09:53 +00:00
"windows-link 0.2.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "clang-sys"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
dependencies = [
"glob",
"libc",
"libloading",
]
[[package]]
name = "cmake"
version = "0.1.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0"
dependencies = [
"cc",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "compact_str"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32"
dependencies = [
"castaway",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
2025-08-08 08:03:35 +00:00
"itoa",
"rustversion",
"ryu",
"static_assertions",
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "core-foundation"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
dependencies = [
"core-foundation-sys",
"libc",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "core-foundation-sys"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "cpufeatures"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
dependencies = [
"libc",
]
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
[[package]]
name = "crc32fast"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "crossterm"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-08 08:03:35 +00:00
"crossterm_winapi",
"libc",
"mio 0.8.11",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"parking_lot",
2025-08-08 08:03:35 +00:00
"signal-hook",
"signal-hook-mio",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"winapi",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "crossterm"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-08 08:03:35 +00:00
"crossterm_winapi",
2025-11-17 23:09:53 +00:00
"mio 1.1.0",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"parking_lot",
"rustix 0.38.44",
2025-08-08 08:03:35 +00:00
"signal-hook",
"signal-hook-mio",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"winapi",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "crossterm_winapi"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"winapi",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "crypto-common"
2025-11-17 23:09:53 +00:00
version = "0.1.7"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
2025-08-08 08:03:35 +00:00
dependencies = [
"generic-array",
"typenum",
]
[[package]]
name = "darling"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
dependencies = [
"darling_core",
"darling_macro",
]
[[package]]
name = "darling_core"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn",
]
[[package]]
name = "darling_macro"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core",
"quote",
"syn",
]
[[package]]
name = "data-encoding"
version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
2025-08-22 17:53:47 +00:00
[[package]]
name = "deranged"
2025-11-17 23:09:53 +00:00
version = "0.5.5"
2025-08-22 17:53:47 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587"
2025-08-22 17:53:47 +00:00
dependencies = [
"powerfmt",
]
[[package]]
name = "difflib"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
2025-08-08 08:03:35 +00:00
[[package]]
name = "digest"
version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer",
"crypto-common",
]
[[package]]
name = "dirs-next"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
"dirs-sys-next",
]
[[package]]
name = "dirs-sys-next"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [
"libc",
"redox_users",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"winapi",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "displaydoc"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "dunce"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
2025-08-08 08:03:35 +00:00
[[package]]
name = "either"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]]
name = "equivalent"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "errno"
2025-11-17 23:09:53 +00:00
version = "0.3.14"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
2025-08-08 08:03:35 +00:00
dependencies = [
"libc",
2025-11-17 23:09:53 +00:00
"windows-sys 0.61.2",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "fastrand"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
2025-11-17 23:09:53 +00:00
[[package]]
name = "find-msvc-tools"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
[[package]]
name = "fixedbitset"
version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
[[package]]
name = "flate2"
2025-11-17 23:09:53 +00:00
version = "1.1.5"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
dependencies = [
"crc32fast",
"miniz_oxide",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "form_urlencoded"
2025-11-17 23:09:53 +00:00
version = "1.2.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
2025-08-08 08:03:35 +00:00
dependencies = [
"percent-encoding",
]
2025-11-17 23:09:53 +00:00
[[package]]
name = "fs-err"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62d91fd049c123429b018c47887d3f75a265540dd3c30ba9cb7bae9197edb03a"
dependencies = [
"autocfg",
"tokio",
]
[[package]]
name = "fs_extra"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
2025-08-08 08:03:35 +00:00
[[package]]
name = "futures"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
dependencies = [
"futures-channel",
"futures-core",
"futures-executor",
"futures-io",
"futures-sink",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-channel"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
dependencies = [
"futures-core",
"futures-sink",
]
[[package]]
name = "futures-core"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
[[package]]
name = "futures-executor"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
dependencies = [
"futures-core",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-io"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
[[package]]
name = "futures-macro"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "futures-sink"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
[[package]]
name = "futures-task"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
[[package]]
name = "futures-util"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
dependencies = [
"futures-channel",
"futures-core",
"futures-io",
"futures-macro",
"futures-sink",
"futures-task",
"memchr",
"pin-project-lite",
"pin-utils",
"slab",
]
[[package]]
name = "generic-array"
version = "0.14.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
dependencies = [
"typenum",
"version_check",
]
[[package]]
name = "getrandom"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
2025-08-08 08:03:35 +00:00
"libc",
2025-11-17 23:09:53 +00:00
"wasi",
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
]
[[package]]
name = "getrandom"
2025-11-17 23:09:53 +00:00
version = "0.3.4"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
"libc",
"r-efi",
2025-11-17 23:09:53 +00:00
"wasip2",
2025-08-08 08:03:35 +00:00
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "gfxinfo"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14f33b12fba19d158bebe0262fd2b6c49fee6f0e0e089f4f3fdc11c017548473"
dependencies = [
"core-foundation",
"io-kit-sys",
"libdrm_amdgpu_sys",
"nvml-wrapper",
"serde",
"windows 0.61.3",
"wmi",
]
[[package]]
name = "glob"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
[[package]]
name = "h2"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
dependencies = [
"atomic-waker",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
"fnv",
"futures-core",
"futures-sink",
"http",
"indexmap",
"slab",
"tokio",
"tokio-util",
"tracing",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "hashbrown"
2025-11-17 23:09:53 +00:00
version = "0.15.5"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
2025-08-08 08:03:35 +00:00
dependencies = [
"allocator-api2",
"equivalent",
"foldhash",
]
[[package]]
2025-11-17 23:09:53 +00:00
name = "hashbrown"
version = "0.16.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
2025-08-08 08:03:35 +00:00
[[package]]
2025-11-17 23:09:53 +00:00
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hostname"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
dependencies = [
"libc",
"match_cfg",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"winapi",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "http"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"fnv",
"itoa",
]
[[package]]
name = "http-body"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"http",
]
[[package]]
name = "http-body-util"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"futures-core",
"http",
"http-body",
"pin-project-lite",
]
[[package]]
name = "httparse"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]]
name = "httpdate"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
2025-11-17 23:09:53 +00:00
version = "1.8.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11"
2025-08-08 08:03:35 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"atomic-waker",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"futures-channel",
2025-11-17 23:09:53 +00:00
"futures-core",
"h2",
2025-08-08 08:03:35 +00:00
"http",
"http-body",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
2025-11-17 23:09:53 +00:00
"pin-utils",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"smallvec",
2025-08-08 08:03:35 +00:00
"tokio",
]
[[package]]
name = "hyper-util"
2025-11-17 23:09:53 +00:00
version = "0.1.18"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"futures-core",
"http",
"http-body",
"hyper",
"pin-project-lite",
"tokio",
"tower-service",
]
[[package]]
name = "iana-time-zone"
2025-11-17 23:09:53 +00:00
version = "0.1.64"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
2025-08-08 08:03:35 +00:00
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"log",
"wasm-bindgen",
2025-11-17 23:09:53 +00:00
"windows-core 0.62.2",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "iana-time-zone-haiku"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
"cc",
]
[[package]]
name = "icu_collections"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43"
2025-08-08 08:03:35 +00:00
dependencies = [
"displaydoc",
"potential_utf",
"yoke",
"zerofrom",
"zerovec",
]
[[package]]
name = "icu_locale_core"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6"
2025-08-08 08:03:35 +00:00
dependencies = [
"displaydoc",
"litemap",
"tinystr",
"writeable",
"zerovec",
]
[[package]]
name = "icu_normalizer"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599"
2025-08-08 08:03:35 +00:00
dependencies = [
"icu_collections",
"icu_normalizer_data",
"icu_properties",
"icu_provider",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"smallvec",
2025-08-08 08:03:35 +00:00
"zerovec",
]
[[package]]
name = "icu_normalizer_data"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a"
2025-08-08 08:03:35 +00:00
[[package]]
name = "icu_properties"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99"
2025-08-08 08:03:35 +00:00
dependencies = [
"icu_collections",
"icu_locale_core",
"icu_properties_data",
"icu_provider",
"zerotrie",
"zerovec",
]
[[package]]
name = "icu_properties_data"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899"
2025-08-08 08:03:35 +00:00
[[package]]
name = "icu_provider"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614"
2025-08-08 08:03:35 +00:00
dependencies = [
"displaydoc",
"icu_locale_core",
"writeable",
"yoke",
"zerofrom",
"zerotrie",
"zerovec",
]
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
2025-11-17 23:09:53 +00:00
version = "1.1.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
2025-08-08 08:03:35 +00:00
dependencies = [
"idna_adapter",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"smallvec",
2025-08-08 08:03:35 +00:00
"utf8_iter",
]
[[package]]
name = "idna_adapter"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
dependencies = [
"icu_normalizer",
"icu_properties",
]
[[package]]
name = "indexmap"
2025-11-17 23:09:53 +00:00
version = "2.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f"
dependencies = [
"equivalent",
2025-11-17 23:09:53 +00:00
"hashbrown 0.16.0",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "indoc"
2025-11-17 23:09:53 +00:00
version = "2.0.7"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
dependencies = [
"rustversion",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "instability"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a"
dependencies = [
"darling",
"indoc",
"proc-macro2",
"quote",
"syn",
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "io-kit-sys"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b"
dependencies = [
"core-foundation-sys",
"mach2",
]
[[package]]
name = "itertools"
2025-11-17 23:09:53 +00:00
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
dependencies = [
"either",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "itertools"
2025-11-17 23:09:53 +00:00
version = "0.14.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
2025-08-08 08:03:35 +00:00
dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]]
name = "jobserver"
2025-11-17 23:09:53 +00:00
version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
dependencies = [
2025-11-17 23:09:53 +00:00
"getrandom 0.3.4",
"libc",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "js-sys"
2025-11-17 23:09:53 +00:00
version = "0.3.82"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
2025-08-08 08:03:35 +00:00
dependencies = [
"once_cell",
"wasm-bindgen",
]
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 19:41:32 +00:00
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
2025-08-08 08:03:35 +00:00
[[package]]
name = "libc"
2025-11-17 23:09:53 +00:00
version = "0.2.177"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
2025-08-08 08:03:35 +00:00
2025-08-11 19:04:55 +00:00
[[package]]
name = "libdrm_amdgpu_sys"
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a7bf95f3c5d8a8ae4a5c0c46fe2271c16fdf8fd4b26978f44b082a0f8ebaaae"
dependencies = [
"libc",
]
[[package]]
name = "libloading"
2025-11-17 23:09:53 +00:00
version = "0.8.9"
2025-08-11 19:04:55 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
2025-08-11 19:04:55 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
2025-11-17 23:09:53 +00:00
"windows-link 0.2.1",
2025-08-11 19:04:55 +00:00
]
[[package]]
name = "libredox"
2025-11-17 23:09:53 +00:00
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
"libc",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "linux-raw-sys"
version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "linux-raw-sys"
2025-11-17 23:09:53 +00:00
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
2025-08-08 08:03:35 +00:00
[[package]]
name = "litemap"
2025-11-17 23:09:53 +00:00
version = "0.8.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77"
2025-08-08 08:03:35 +00:00
[[package]]
name = "lock_api"
2025-11-17 23:09:53 +00:00
version = "0.4.14"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
2025-08-08 08:03:35 +00:00
dependencies = [
"scopeguard",
]
[[package]]
name = "log"
2025-11-17 23:09:53 +00:00
version = "0.4.28"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
2025-08-08 08:03:35 +00:00
[[package]]
name = "lru"
version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
2025-11-17 23:09:53 +00:00
"hashbrown 0.15.5",
2025-08-08 08:03:35 +00:00
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "mach2"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44"
dependencies = [
"libc",
]
[[package]]
name = "match_cfg"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
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 19:41:32 +00:00
[[package]]
name = "matchers"
2025-11-17 23:09:53 +00:00
version = "0.2.0"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
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 19:41:32 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"regex-automata",
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 19:41:32 +00:00
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "matchit"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
[[package]]
name = "memchr"
2025-11-17 23:09:53 +00:00
version = "2.7.6"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
2025-08-08 08:03:35 +00:00
[[package]]
name = "mime"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "minimal-lexical"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
2025-08-08 08:03:35 +00:00
[[package]]
name = "miniz_oxide"
version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
dependencies = [
"adler2",
2025-11-17 23:09:53 +00:00
"simd-adler32",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "mio"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"log",
2025-11-17 23:09:53 +00:00
"wasi",
2025-08-08 08:03:35 +00:00
"windows-sys 0.48.0",
]
[[package]]
name = "mio"
2025-11-17 23:09:53 +00:00
version = "1.1.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873"
2025-08-08 08:03:35 +00:00
dependencies = [
"libc",
"log",
2025-11-17 23:09:53 +00:00
"wasi",
"windows-sys 0.61.2",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "multimap"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084"
[[package]]
name = "nom"
version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "ntapi"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"winapi",
2025-08-08 08:03:35 +00:00
]
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 19:41:32 +00:00
[[package]]
name = "nu-ansi-term"
2025-11-17 23:09:53 +00:00
version = "0.50.3"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
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 19:41:32 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-sys 0.61.2",
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 19:41:32 +00:00
]
2025-08-22 17:53:47 +00:00
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
2025-08-08 08:03:35 +00:00
[[package]]
name = "num-traits"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
dependencies = [
"autocfg",
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "nvml-wrapper"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c9bff0aa1d48904a1385ea2a8b97576fbdcbc9a3cfccd0d31fe978e1c4038c5"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-11 19:04:55 +00:00
"libloading",
"nvml-wrapper-sys",
"static_assertions",
"thiserror 1.0.69",
"wrapcenum-derive",
]
[[package]]
name = "nvml-wrapper-sys"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "698d45156f28781a4e79652b6ebe2eaa0589057d588d3aec1333f6466f13fcb5"
dependencies = [
"libloading",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "objc2-core-foundation"
2025-11-17 23:09:53 +00:00
version = "0.3.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "objc2-io-kit"
2025-11-17 23:09:53 +00:00
version = "0.3.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
2025-08-08 08:03:35 +00:00
dependencies = [
"libc",
"objc2-core-foundation",
]
[[package]]
name = "once_cell"
version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]]
name = "parking_lot"
2025-11-17 23:09:53 +00:00
version = "0.12.5"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"lock_api",
"parking_lot_core",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "parking_lot_core"
2025-11-17 23:09:53 +00:00
version = "0.9.12"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
2025-08-08 08:03:35 +00:00
"libc",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"redox_syscall",
"smallvec",
2025-11-17 23:09:53 +00:00
"windows-link 0.2.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "paste"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
2025-08-22 17:53:47 +00:00
[[package]]
name = "pem"
2025-11-17 23:09:53 +00:00
version = "3.0.6"
2025-08-22 17:53:47 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be"
2025-08-22 17:53:47 +00:00
dependencies = [
"base64",
2025-11-17 23:09:53 +00:00
"serde_core",
2025-08-22 17:53:47 +00:00
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "percent-encoding"
2025-11-17 23:09:53 +00:00
version = "2.3.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
2025-08-08 08:03:35 +00:00
[[package]]
name = "petgraph"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772"
dependencies = [
"fixedbitset",
"indexmap",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "pin-project-lite"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "potential_utf"
2025-11-17 23:09:53 +00:00
version = "0.1.4"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
2025-08-08 08:03:35 +00:00
dependencies = [
"zerovec",
]
2025-08-22 17:53:47 +00:00
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
2025-08-08 08:03:35 +00:00
[[package]]
name = "ppv-lite86"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [
"zerocopy",
]
[[package]]
name = "predicates"
version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
dependencies = [
"anstyle",
"difflib",
"predicates-core",
]
[[package]]
name = "predicates-core"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
[[package]]
name = "predicates-tree"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
dependencies = [
"predicates-core",
"termtree",
]
[[package]]
name = "prettyplease"
2025-11-17 23:09:53 +00:00
version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
"proc-macro2",
"syn",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "proc-macro2"
2025-11-17 23:09:53 +00:00
version = "1.0.103"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
2025-08-08 08:03:35 +00:00
dependencies = [
"unicode-ident",
]
[[package]]
name = "prost"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
"prost-derive",
]
[[package]]
name = "prost-build"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf"
dependencies = [
"heck",
2025-11-17 23:09:53 +00:00
"itertools 0.14.0",
"log",
"multimap",
"once_cell",
"petgraph",
"prettyplease",
"prost",
"prost-types",
"regex",
"syn",
"tempfile",
]
[[package]]
name = "prost-derive"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d"
dependencies = [
"anyhow",
2025-11-17 23:09:53 +00:00
"itertools 0.14.0",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "prost-types"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16"
dependencies = [
"prost",
]
[[package]]
name = "protoc-bin-vendored"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1c381df33c98266b5f08186583660090a4ffa0889e76c7e9a5e175f645a67fa"
dependencies = [
"protoc-bin-vendored-linux-aarch_64",
"protoc-bin-vendored-linux-ppcle_64",
"protoc-bin-vendored-linux-s390_64",
"protoc-bin-vendored-linux-x86_32",
"protoc-bin-vendored-linux-x86_64",
"protoc-bin-vendored-macos-aarch_64",
"protoc-bin-vendored-macos-x86_64",
"protoc-bin-vendored-win32",
]
[[package]]
name = "protoc-bin-vendored-linux-aarch_64"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c350df4d49b5b9e3ca79f7e646fde2377b199e13cfa87320308397e1f37e1a4c"
[[package]]
name = "protoc-bin-vendored-linux-ppcle_64"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a55a63e6c7244f19b5c6393f025017eb5d793fd5467823a099740a7a4222440c"
[[package]]
name = "protoc-bin-vendored-linux-s390_64"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dba5565db4288e935d5330a07c264a4ee8e4a5b4a4e6f4e83fad824cc32f3b0"
[[package]]
name = "protoc-bin-vendored-linux-x86_32"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8854774b24ee28b7868cd71dccaae8e02a2365e67a4a87a6cd11ee6cdbdf9cf5"
[[package]]
name = "protoc-bin-vendored-linux-x86_64"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b38b07546580df720fa464ce124c4b03630a6fb83e05c336fea2a241df7e5d78"
[[package]]
name = "protoc-bin-vendored-macos-aarch_64"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89278a9926ce312e51f1d999fee8825d324d603213344a9a706daa009f1d8092"
[[package]]
name = "protoc-bin-vendored-macos-x86_64"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81745feda7ccfb9471d7a4de888f0652e806d5795b61480605d4943176299756"
[[package]]
name = "protoc-bin-vendored-win32"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95067976aca6421a523e491fce939a3e65249bac4b977adee0ee9771568e8aa3"
2025-08-08 08:03:35 +00:00
[[package]]
name = "quote"
2025-11-17 23:09:53 +00:00
version = "1.0.42"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
]
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
[[package]]
name = "r-efi"
version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
2025-08-08 08:03:35 +00:00
[[package]]
name = "rand"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
"getrandom 0.2.16",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "ratatui"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdef7f9be5c0122f890d58bdf4d964349ba6a6161f705907526d891efabba57d"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-08 08:03:35 +00:00
"cassowary",
"compact_str",
"crossterm 0.28.1",
"instability",
"itertools 0.13.0",
2025-08-08 08:03:35 +00:00
"lru",
"paste",
"strum",
"strum_macros",
"unicode-segmentation",
"unicode-truncate",
"unicode-width",
]
2025-08-22 17:53:47 +00:00
[[package]]
name = "rcgen"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2"
dependencies = [
"pem",
"ring",
"rustls-pki-types",
"time",
"yasna",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "redox_syscall"
2025-11-17 23:09:53 +00:00
version = "0.5.18"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "redox_users"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom 0.2.16",
"libredox",
"thiserror 1.0.69",
]
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 19:41:32 +00:00
[[package]]
name = "regex"
2025-11-17 23:09:53 +00:00
version = "1.12.2"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
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 19:41:32 +00:00
dependencies = [
"aho-corasick",
"memchr",
2025-11-17 23:09:53 +00:00
"regex-automata",
"regex-syntax",
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 19:41:32 +00:00
]
[[package]]
name = "regex-automata"
2025-11-17 23:09:53 +00:00
version = "0.4.13"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
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 19:41:32 +00:00
dependencies = [
"aho-corasick",
"memchr",
2025-11-17 23:09:53 +00:00
"regex-syntax",
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 19:41:32 +00:00
]
[[package]]
name = "regex-syntax"
2025-11-17 23:09:53 +00:00
version = "0.8.8"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
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 19:41:32 +00:00
[[package]]
name = "ring"
version = "0.17.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
"cc",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
"getrandom 0.2.16",
"libc",
"untrusted",
"windows-sys 0.52.0",
]
[[package]]
name = "rustc-hash"
2025-11-17 23:09:53 +00:00
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
2025-08-08 08:03:35 +00:00
[[package]]
name = "rustix"
version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
2025-08-08 08:03:35 +00:00
"errno",
"libc",
"linux-raw-sys 0.4.15",
2025-08-08 08:03:35 +00:00
"windows-sys 0.59.0",
]
[[package]]
name = "rustix"
2025-11-17 23:09:53 +00:00
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bitflags",
"errno",
"libc",
2025-11-17 23:09:53 +00:00
"linux-raw-sys 0.11.0",
"windows-sys 0.61.2",
]
[[package]]
name = "rustls"
2025-11-17 23:09:53 +00:00
version = "0.23.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f"
dependencies = [
"aws-lc-rs",
"log",
"once_cell",
"ring",
"rustls-pki-types",
2025-11-17 23:09:53 +00:00
"rustls-webpki",
"subtle",
"zeroize",
]
[[package]]
name = "rustls-pemfile"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "rustls-pki-types"
2025-11-17 23:09:53 +00:00
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a"
dependencies = [
"zeroize",
]
[[package]]
name = "rustls-webpki"
2025-11-17 23:09:53 +00:00
version = "0.103.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52"
dependencies = [
"aws-lc-rs",
"ring",
"rustls-pki-types",
"untrusted",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "rustversion"
2025-11-17 23:09:53 +00:00
version = "1.0.22"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
2025-08-08 08:03:35 +00:00
[[package]]
name = "ryu"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
2025-11-17 23:09:53 +00:00
name = "serde"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
2025-11-17 23:09:53 +00:00
"serde_core",
"serde_derive",
]
2025-08-08 08:03:35 +00:00
[[package]]
2025-11-17 23:09:53 +00:00
name = "serde_core"
version = "1.0.228"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
2025-08-08 08:03:35 +00:00
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
2025-11-17 23:09:53 +00:00
version = "1.0.228"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serde_json"
2025-11-17 23:09:53 +00:00
version = "1.0.145"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
2025-08-08 08:03:35 +00:00
dependencies = [
"itoa",
"memchr",
"ryu",
"serde",
2025-11-17 23:09:53 +00:00
"serde_core",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "serde_path_to_error"
2025-11-17 23:09:53 +00:00
version = "0.1.20"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
2025-08-08 08:03:35 +00:00
dependencies = [
"itoa",
"serde",
2025-11-17 23:09:53 +00:00
"serde_core",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
"itoa",
"ryu",
"serde",
]
[[package]]
name = "sha1"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
2025-08-08 08:03:35 +00:00
"cpufeatures",
"digest",
]
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 19:41:32 +00:00
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "shlex"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "signal-hook"
version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2"
dependencies = [
"libc",
"signal-hook-registry",
]
[[package]]
name = "signal-hook-mio"
2025-11-17 23:09:53 +00:00
version = "0.2.5"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc"
2025-08-08 08:03:35 +00:00
dependencies = [
"libc",
"mio 0.8.11",
2025-11-17 23:09:53 +00:00
"mio 1.1.0",
2025-08-08 08:03:35 +00:00
"signal-hook",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b"
dependencies = [
"libc",
]
2025-11-17 23:09:53 +00:00
[[package]]
name = "simd-adler32"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
2025-08-08 08:03:35 +00:00
[[package]]
name = "slab"
2025-11-17 23:09:53 +00:00
version = "0.4.11"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
2025-08-08 08:03:35 +00:00
[[package]]
name = "smallvec"
version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "socket2"
2025-11-17 23:09:53 +00:00
version = "0.6.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881"
2025-08-08 08:03:35 +00:00
dependencies = [
"libc",
2025-11-17 23:09:53 +00:00
"windows-sys 0.60.2",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "socktop"
2025-11-17 22:13:48 +00:00
version = "1.50.0"
2025-08-08 08:03:35 +00:00
dependencies = [
"anyhow",
"assert_cmd",
2025-08-08 08:03:35 +00:00
"crossterm 0.27.0",
"dirs-next",
2025-08-08 08:03:35 +00:00
"futures-util",
"ratatui",
"serde",
"serde_json",
2025-11-17 22:15:39 +00:00
"socktop_connector 1.50.0 (registry+https://github.com/rust-lang/crates.io-index)",
"sysinfo",
"tempfile",
2025-08-08 08:03:35 +00:00
"tokio",
"url",
]
[[package]]
name = "socktop_agent"
version = "1.50.2"
2025-08-08 08:03:35 +00:00
dependencies = [
"anyhow",
"assert_cmd",
2025-08-08 08:03:35 +00:00
"axum",
"axum-server",
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
"flate2",
2025-08-08 08:03:35 +00:00
"futures-util",
2025-08-11 19:04:55 +00:00
"gfxinfo",
"hostname",
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
"once_cell",
"prost",
"prost-build",
"protoc-bin-vendored",
2025-08-22 17:53:47 +00:00
"rcgen",
2025-11-17 23:09:53 +00:00
"rustls",
"rustls-pemfile",
2025-08-08 08:03:35 +00:00
"serde",
"serde_json",
"sysinfo",
"tempfile",
2025-08-22 19:46:01 +00:00
"time",
2025-08-08 08:03:35 +00:00
"tokio",
"tokio-tungstenite 0.21.0",
"tonic-build",
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 19:41:32 +00:00
"tracing",
"tracing-subscriber",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "socktop_connector"
version = "1.50.0"
dependencies = [
"flate2",
"futures-util",
"js-sys",
"prost",
"prost-build",
"protoc-bin-vendored",
2025-11-17 23:09:53 +00:00
"rustls",
"rustls-pemfile",
"serde",
"serde_json",
2025-11-17 23:09:53 +00:00
"thiserror 2.0.17",
"tokio",
"tokio-tungstenite 0.24.0",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
]
2025-11-17 22:15:39 +00:00
[[package]]
name = "socktop_connector"
version = "1.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61ea6a5733e71da6d5c94d23265b85f7041305bca51e6c33e7104464444047bc"
dependencies = [
"flate2",
"futures-util",
"prost",
"prost-build",
"protoc-bin-vendored",
2025-11-17 23:09:53 +00:00
"rustls",
2025-11-17 22:15:39 +00:00
"rustls-pemfile",
"serde",
"serde_json",
2025-11-17 23:09:53 +00:00
"thiserror 2.0.17",
2025-11-17 22:15:39 +00:00
"tokio",
"tokio-tungstenite 0.24.0",
"url",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "stable_deref_trait"
2025-11-17 23:09:53 +00:00
version = "1.2.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
2025-08-08 08:03:35 +00:00
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "strsim"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum"
version = "0.26.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
dependencies = [
"strum_macros",
]
[[package]]
name = "strum_macros"
version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
dependencies = [
"heck",
"proc-macro2",
"quote",
"rustversion",
"syn",
]
[[package]]
name = "subtle"
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
2025-08-08 08:03:35 +00:00
[[package]]
name = "syn"
2025-11-17 23:09:53 +00:00
version = "2.0.110"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "sync_wrapper"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
[[package]]
name = "synstructure"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "sysinfo"
2025-11-17 23:09:53 +00:00
version = "0.37.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f"
2025-08-08 08:03:35 +00:00
dependencies = [
"libc",
"memchr",
"ntapi",
"objc2-core-foundation",
"objc2-io-kit",
2025-08-11 19:04:55 +00:00
"windows 0.61.3",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "tempfile"
2025-11-17 23:09:53 +00:00
version = "3.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
dependencies = [
"fastrand",
2025-11-17 23:09:53 +00:00
"getrandom 0.3.4",
"once_cell",
2025-11-17 23:09:53 +00:00
"rustix 1.1.2",
"windows-sys 0.61.2",
]
[[package]]
name = "termtree"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
2025-08-08 08:03:35 +00:00
[[package]]
name = "thiserror"
version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
dependencies = [
2025-08-11 19:04:55 +00:00
"thiserror-impl 1.0.69",
]
[[package]]
name = "thiserror"
2025-11-17 23:09:53 +00:00
version = "2.0.17"
2025-08-11 19:04:55 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
2025-08-11 19:04:55 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"thiserror-impl 2.0.17",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "thiserror-impl"
version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "thiserror-impl"
2025-11-17 23:09:53 +00:00
version = "2.0.17"
2025-08-11 19:04:55 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
2025-08-11 19:04:55 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
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 19:41:32 +00:00
[[package]]
name = "thread_local"
version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
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 19:41:32 +00:00
]
2025-08-22 17:53:47 +00:00
[[package]]
name = "time"
2025-11-17 23:09:53 +00:00
version = "0.3.44"
2025-08-22 17:53:47 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d"
2025-08-22 17:53:47 +00:00
dependencies = [
"deranged",
2025-08-22 19:46:01 +00:00
"itoa",
2025-08-22 17:53:47 +00:00
"num-conv",
"powerfmt",
"serde",
"time-core",
2025-08-22 19:46:01 +00:00
"time-macros",
2025-08-22 17:53:47 +00:00
]
[[package]]
name = "time-core"
2025-11-17 23:09:53 +00:00
version = "0.1.6"
2025-08-22 17:53:47 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b"
2025-08-22 17:53:47 +00:00
2025-08-22 19:46:01 +00:00
[[package]]
name = "time-macros"
2025-11-17 23:09:53 +00:00
version = "0.2.24"
2025-08-22 19:46:01 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3"
2025-08-22 19:46:01 +00:00
dependencies = [
"num-conv",
"time-core",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "tinystr"
2025-11-17 23:09:53 +00:00
version = "0.8.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869"
2025-08-08 08:03:35 +00:00
dependencies = [
"displaydoc",
"zerovec",
]
[[package]]
name = "tokio"
2025-11-17 23:09:53 +00:00
version = "1.48.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"libc",
2025-11-17 23:09:53 +00:00
"mio 1.1.0",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"parking_lot",
2025-08-08 08:03:35 +00:00
"pin-project-lite",
"signal-hook-registry",
"socket2",
"tokio-macros",
2025-11-17 23:09:53 +00:00
"windows-sys 0.61.2",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "tokio-macros"
2025-11-17 23:09:53 +00:00
version = "2.6.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "tokio-rustls"
2025-11-17 23:09:53 +00:00
version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
dependencies = [
2025-11-17 23:09:53 +00:00
"rustls",
"tokio",
]
[[package]]
name = "tokio-tungstenite"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
dependencies = [
"futures-util",
"log",
"tokio",
"tungstenite 0.21.0",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "tokio-tungstenite"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9"
dependencies = [
"futures-util",
"log",
2025-11-17 23:09:53 +00:00
"rustls",
"rustls-pki-types",
2025-08-08 08:03:35 +00:00
"tokio",
2025-11-17 23:09:53 +00:00
"tokio-rustls",
"tungstenite 0.24.0",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "tokio-util"
2025-11-17 23:09:53 +00:00
version = "0.7.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
"futures-core",
"futures-sink",
"pin-project-lite",
"tokio",
]
[[package]]
name = "tonic-build"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11"
dependencies = [
"prettyplease",
"proc-macro2",
"quote",
"syn",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "tower"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
dependencies = [
"futures-core",
"futures-util",
"pin-project-lite",
"sync_wrapper",
"tokio",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tower-layer"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
[[package]]
name = "tower-service"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
version = "0.1.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
dependencies = [
"log",
"pin-project-lite",
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 19:41:32 +00:00
"tracing-attributes",
2025-08-08 08:03:35 +00:00
"tracing-core",
]
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 19:41:32 +00:00
[[package]]
name = "tracing-attributes"
version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "tracing-core"
version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
dependencies = [
"once_cell",
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 19:41:32 +00:00
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
2025-11-17 23:09:53 +00:00
version = "0.3.20"
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 19:41:32 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
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 19:41:32 +00:00
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
2025-11-17 23:09:53 +00:00
"regex-automata",
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 19:41:32 +00:00
"sharded-slab",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"smallvec",
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 19:41:32 +00:00
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "tungstenite"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
dependencies = [
"byteorder",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
"data-encoding",
"http",
"httparse",
"log",
"rand",
"sha1",
"thiserror 1.0.69",
"url",
"utf-8",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "tungstenite"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a"
dependencies = [
"byteorder",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"bytes",
2025-08-08 08:03:35 +00:00
"data-encoding",
"http",
"httparse",
"log",
"rand",
2025-11-17 23:09:53 +00:00
"rustls",
"rustls-pki-types",
2025-08-08 08:03:35 +00:00
"sha1",
2025-08-11 19:04:55 +00:00
"thiserror 1.0.69",
2025-08-08 08:03:35 +00:00
"utf-8",
]
[[package]]
name = "typenum"
2025-11-17 23:09:53 +00:00
version = "1.19.0"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
2025-08-08 08:03:35 +00:00
[[package]]
name = "unicode-ident"
2025-11-17 23:09:53 +00:00
version = "1.0.22"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
2025-08-08 08:03:35 +00:00
[[package]]
name = "unicode-segmentation"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
[[package]]
name = "unicode-truncate"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf"
dependencies = [
"itertools 0.13.0",
2025-08-08 08:03:35 +00:00
"unicode-segmentation",
"unicode-width",
]
[[package]]
name = "unicode-width"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
[[package]]
name = "untrusted"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
2025-08-08 08:03:35 +00:00
[[package]]
name = "url"
2025-11-17 23:09:53 +00:00
version = "2.5.7"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
2025-08-08 08:03:35 +00:00
dependencies = [
"form_urlencoded",
"idna",
"percent-encoding",
2025-11-17 23:09:53 +00:00
"serde",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "utf-8"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
[[package]]
name = "utf8_iter"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
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 19:41:32 +00:00
[[package]]
name = "valuable"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
2025-08-08 08:03:35 +00:00
[[package]]
name = "version_check"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "wait-timeout"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11"
dependencies = [
"libc",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "wasi"
version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
[[package]]
2025-11-17 23:09:53 +00:00
name = "wasip2"
version = "1.0.1+wasi-0.2.4"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"wit-bindgen",
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "wasm-bindgen"
2025-11-17 23:09:53 +00:00
version = "0.2.105"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
2025-08-08 08:03:35 +00:00
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
2025-08-08 08:03:35 +00:00
"once_cell",
"rustversion",
"wasm-bindgen-macro",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
2025-11-17 23:09:53 +00:00
version = "0.4.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0"
dependencies = [
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"cfg-if",
"js-sys",
"once_cell",
"wasm-bindgen",
"web-sys",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "wasm-bindgen-macro"
2025-11-17 23:09:53 +00:00
version = "0.2.105"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
2025-08-08 08:03:35 +00:00
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
2025-11-17 23:09:53 +00:00
version = "0.2.105"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
2025-08-08 08:03:35 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"bumpalo",
2025-08-08 08:03:35 +00:00
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
2025-11-17 23:09:53 +00:00
version = "0.2.105"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
2025-08-08 08:03:35 +00:00
dependencies = [
"unicode-ident",
]
[[package]]
name = "web-sys"
2025-11-17 23:09:53 +00:00
version = "0.3.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1"
dependencies = [
"js-sys",
"wasm-bindgen",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2025-08-11 19:04:55 +00:00
[[package]]
name = "windows"
version = "0.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddf874e74c7a99773e62b1c671427abf01a425e77c3d3fb9fb1e4883ea934529"
dependencies = [
"windows-collections 0.1.1",
"windows-core 0.60.1",
"windows-future 0.1.1",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-11 19:04:55 +00:00
"windows-numerics 0.1.1",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows"
version = "0.61.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
dependencies = [
2025-08-11 19:04:55 +00:00
"windows-collections 0.2.0",
"windows-core 0.61.2",
"windows-future 0.2.1",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-11 19:04:55 +00:00
"windows-numerics 0.2.0",
]
[[package]]
name = "windows-collections"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5467f79cc1ba3f52ebb2ed41dbb459b8e7db636cc3429458d9a852e15bc24dec"
dependencies = [
"windows-core 0.60.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-collections"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
dependencies = [
2025-08-11 19:04:55 +00:00
"windows-core 0.61.2",
]
[[package]]
name = "windows-core"
version = "0.60.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca21a92a9cae9bf4ccae5cf8368dce0837100ddf6e6d57936749e85f152f6247"
dependencies = [
"windows-implement 0.59.0",
"windows-interface",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
"windows-result 0.3.4",
2025-08-11 19:04:55 +00:00
"windows-strings 0.3.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-core"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-implement 0.60.2",
2025-08-08 08:03:35 +00:00
"windows-interface",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
"windows-result 0.3.4",
2025-08-11 19:04:55 +00:00
"windows-strings 0.4.2",
]
2025-11-17 23:09:53 +00:00
[[package]]
name = "windows-core"
version = "0.62.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
dependencies = [
"windows-implement 0.60.2",
"windows-interface",
"windows-link 0.2.1",
"windows-result 0.4.1",
"windows-strings 0.5.1",
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "windows-future"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a787db4595e7eb80239b74ce8babfb1363d8e343ab072f2ffe901400c03349f0"
dependencies = [
"windows-core 0.60.1",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-future"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
dependencies = [
2025-08-11 19:04:55 +00:00
"windows-core 0.61.2",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-08 08:03:35 +00:00
"windows-threading",
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "windows-implement"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows-implement"
2025-11-17 23:09:53 +00:00
version = "0.60.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "windows-interface"
2025-11-17 23:09:53 +00:00
version = "0.59.3"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "windows-link"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
2025-11-17 23:09:53 +00:00
[[package]]
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
2025-08-11 19:04:55 +00:00
[[package]]
name = "windows-numerics"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "005dea54e2f6499f2cee279b8f703b3cf3b5734a2d8d21867c8f44003182eeed"
dependencies = [
"windows-core 0.60.1",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-11 19:04:55 +00:00
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows-numerics"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
dependencies = [
2025-08-11 19:04:55 +00:00
"windows-core 0.61.2",
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-result"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
]
[[package]]
name = "windows-result"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
dependencies = [
"windows-link 0.2.1",
2025-08-08 08:03:35 +00:00
]
2025-08-11 19:04:55 +00:00
[[package]]
name = "windows-strings"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-11 19:04:55 +00:00
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows-strings"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
]
[[package]]
name = "windows-strings"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
dependencies = [
"windows-link 0.2.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.5",
]
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets 0.52.6",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows-sys"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-sys"
version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-targets 0.53.5",
]
[[package]]
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows-link 0.2.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-targets"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm 0.48.5",
"windows_aarch64_msvc 0.48.5",
"windows_i686_gnu 0.48.5",
"windows_i686_msvc 0.48.5",
"windows_x86_64_gnu 0.48.5",
"windows_x86_64_gnullvm 0.48.5",
"windows_x86_64_msvc 0.48.5",
]
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
"windows_aarch64_gnullvm 0.52.6",
"windows_aarch64_msvc 0.52.6",
"windows_i686_gnu 0.52.6",
"windows_i686_gnullvm 0.52.6",
"windows_i686_msvc 0.52.6",
"windows_x86_64_gnu 0.52.6",
"windows_x86_64_gnullvm 0.52.6",
"windows_x86_64_msvc 0.52.6",
]
[[package]]
name = "windows-targets"
2025-11-17 23:09:53 +00:00
version = "0.53.5"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
2025-08-08 08:03:35 +00:00
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-link 0.2.1",
"windows_aarch64_gnullvm 0.53.1",
"windows_aarch64_msvc 0.53.1",
"windows_i686_gnu 0.53.1",
"windows_i686_gnullvm 0.53.1",
"windows_i686_msvc 0.53.1",
"windows_x86_64_gnu 0.53.1",
"windows_x86_64_gnullvm 0.53.1",
"windows_x86_64_msvc 0.53.1",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows-threading"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
dependencies = [
2025-11-17 23:09:53 +00:00
"windows-link 0.1.3",
2025-08-08 08:03:35 +00:00
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_gnullvm"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_aarch64_msvc"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnu"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_gnullvm"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_i686_msvc"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnu"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_gnullvm"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
2025-08-08 08:03:35 +00:00
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "windows_x86_64_msvc"
2025-11-17 23:09:53 +00:00
version = "0.53.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
2025-08-08 08:03:35 +00:00
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
[[package]]
2025-11-17 23:09:53 +00:00
name = "wit-bindgen"
version = "0.46.0"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
multiple feature and performance improvements (see description) Here are concise release notes you can paste into your GitHub release. Release notes — 2025-08-12 Highlights Agent back to near-zero CPU when idle (request-driven, no background samplers). Accurate per-process CPU% via /proc deltas; only top-level processes (threads hidden). TUI: processes pane gets scrollbar, click-to-sort (CPU% or Mem) with indicator, stable total count. Network panes made taller; disks slightly reduced. README revamped: rustup prereqs, crates.io install, update/systemd instructions. Clippy cleanups across agent and client. Agent Reverted precompressed caches and background samplers; WebSocket path is request-driven again. Ensured on-demand gzip for larger replies; no per-request overhead when small. Processes: switched to refresh_processes_specifics with ProcessRefreshKind::everything().without_tasks() to exclude threads. Per-process CPU% now computed from /proc jiffies deltas using a small ProcCpuTracker (fixes “always 0%”/scaling issues). Optional metrics and light caching: CPU temp and GPU metrics gated by env (SOCKTOP_AGENT_TEMP=0, SOCKTOP_AGENT_GPU=0). Tiny TTL caches via once_cell to avoid rescanning sensors every tick. Dependencies: added once_cell = "1.19". No API changes to WS endpoints. Client (TUI) Processes pane: Scrollbar (mouse wheel, drag; keyboard arrows/PageUp/PageDown/Home/End). Click header to sort by CPU% or Mem; dot indicator on active column. Preserves process_count across fast metrics updates to avoid flicker. UI/theme: Shared scrollbar colors moved to ui/theme.rs; both CPU and Processes reuse them. Cached pane rect to fix input handling; removed unused vars. Layout: network download/upload get more vertical space; disks shrink slightly. Clippy fixes: derive Default for ProcSortBy; style/import cleanups. Docs README: added rustup install steps (with proper shell reload), install via cargo install socktop and cargo install socktop_agent, and a clear Updating section (systemd service steps included). Features list updated; roadmap marks independent cadences as done. Upgrade notes Agent: cargo install socktop_agent --force, then restart your systemd service; if unit changed, systemctl daemon-reload. TUI: cargo install socktop --force. Optional envs to trim overhead: SOCKTOP_AGENT_GPU=0, SOCKTOP_AGENT_TEMP=0. No config or API breaking changes.
2025-08-12 22:52:46 +00:00
2025-08-11 19:04:55 +00:00
[[package]]
name = "wmi"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f902b4592b911109e7352bcfec7b754b07ec71e514d7dfa280eaef924c1cb08"
dependencies = [
"chrono",
Optimize socktop_agent for reduced binary size and memory footprint (#22) This commit implements several optimizations to make socktop_agent significantly more lightweight without sacrificing functionality. Changes: 1. Reduced Tokio Runtime Thread Pool (main.rs) - Changed from default (num_cpus) to 2 worker threads - Configurable via SOCKTOP_WORKER_THREADS environment variable - Rationale: Agent is I/O-bound, not CPU-intensive - Memory savings: ~6-12 MB on typical 8-core systems 2. Minimal Tokio Features (Cargo.toml) - Changed from features = ["full"] to minimal set: ["rt-multi-thread", "net", "sync", "macros"] - Removed unused features: io, fs, process, signal, time - Binary size reduction: ~200-300 KB - Faster compile times 3. Optional Tracing (Cargo.toml, main.rs, metrics.rs) - Made tracing dependencies optional with "logging" feature flag - Disabled by default for production builds - Binary size reduction: 1.5 MB (27%!) - Enable with: cargo build --features logging 4. Cleanup (Cargo.toml) - Removed unused tokio-process dependency Results: - Binary size: 5.6 MB → 4.0 MB (28% reduction) - Memory usage: 25-40 MB → 15-25 MB (30-40% reduction) - Worker threads: 8+ → 2 (75% reduction on 8-core systems) Testing: - All tests pass with and without logging feature - No clippy warnings - Functionality unchanged - Production-ready Breaking Changes: - None (all changes are backward compatible) - Default behavior is now more lightweight - Logging can be re-enabled with --features logging To build with logging for debugging: cargo build --package socktop_agent --release --features logging
2025-11-17 17:51:41 +00:00
"futures",
2025-08-11 19:04:55 +00:00
"log",
"serde",
2025-11-17 23:09:53 +00:00
"thiserror 2.0.17",
2025-08-11 19:04:55 +00:00
"windows 0.60.0",
"windows-core 0.60.1",
]
[[package]]
name = "wrapcenum-derive"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76ff259533532054cfbaefb115c613203c73707017459206380f03b3b3f266e"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "writeable"
2025-11-17 23:09:53 +00:00
version = "0.6.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
2025-08-08 08:03:35 +00:00
2025-08-22 17:53:47 +00:00
[[package]]
name = "yasna"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd"
dependencies = [
"time",
]
2025-08-08 08:03:35 +00:00
[[package]]
name = "yoke"
2025-11-17 23:09:53 +00:00
version = "0.8.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954"
2025-08-08 08:03:35 +00:00
dependencies = [
"stable_deref_trait",
"yoke-derive",
"zerofrom",
]
[[package]]
name = "yoke-derive"
2025-11-17 23:09:53 +00:00
version = "0.8.1"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
"synstructure",
]
[[package]]
name = "zerocopy"
2025-11-17 23:09:53 +00:00
version = "0.8.27"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c"
2025-08-08 08:03:35 +00:00
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
2025-11-17 23:09:53 +00:00
version = "0.8.27"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "zerofrom"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
dependencies = [
"zerofrom-derive",
]
[[package]]
name = "zerofrom-derive"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
"syn",
"synstructure",
]
[[package]]
name = "zeroize"
2025-11-17 23:09:53 +00:00
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
2025-08-08 08:03:35 +00:00
[[package]]
name = "zerotrie"
2025-11-17 23:09:53 +00:00
version = "0.2.3"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851"
2025-08-08 08:03:35 +00:00
dependencies = [
"displaydoc",
"yoke",
"zerofrom",
]
[[package]]
name = "zerovec"
2025-11-17 23:09:53 +00:00
version = "0.11.5"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002"
2025-08-08 08:03:35 +00:00
dependencies = [
"yoke",
"zerofrom",
"zerovec-derive",
]
[[package]]
name = "zerovec-derive"
2025-11-17 23:09:53 +00:00
version = "0.11.2"
2025-08-08 08:03:35 +00:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2025-11-17 23:09:53 +00:00
checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
2025-08-08 08:03:35 +00:00
dependencies = [
"proc-macro2",
"quote",
"syn",
]