seokjin0414 opened a new pull request, #2917:
URL: https://github.com/apache/iggy/pull/2917

   ## Summary
   
   Closes #2732.
   
   - Add `threads_count`, `free_disk_space`, `total_disk_space` fields to Stats 
struct
   - Collect thread count via sysinfo `Process::tasks()` API (Linux only, 0 on 
macOS)
   - Collect disk space via sysinfo `Disks` API with longest-prefix mount point 
matching
   - Add `IggyUsage` (messages_size_bytes), `Disk` (free/total), `Threads` 
(conditional) to sysinfo log output
   - Update binary protocol encoding/decoding with backward-compatible field 
appending
   - Add CLI Table/List output rows for new fields
   - Add integration tests: field presence in all 4 output formats + JSON value 
verification with message size check
   
   ## Design
   
   - **Thread count**: `process.tasks().map(|t| t.len()).unwrap_or(0)` — uses 
existing `refresh_processes()` call, no additional sysinfo refresh needed. 
Conditional log output (skipped when 0, matching OpenFDs pattern)
   - **Disk space**: `Disks::new_with_refreshed_list()` per call (no caching) — 
longest prefix match against `canonicalize(config.system.path)` to find the 
correct mount point
   - **IggyUsage**: existing `messages_size_bytes` field (iggy metadata only, 
no sysinfo) — added to sysinfo log output
   - **Binary protocol**: new fields appended after `cache_metrics`, decoded 
with `current_position + N <= payload.len()` guards for backward compatibility


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to