# peach-stats ![Generic badge](https://img.shields.io/badge/version-0.3.0-.svg) System statistics library for PeachCloud. Provides a wrapper around the [probes](https://crates.io/crates/probes) and [systemstat](https://crates.io/crates/systemstat) crates. Currently offers the following system statistics and associated data structures: - CPU: `user`, `system`, `nice`, `idle` (as values or percentages) - Disk usage: `filesystem`, `one_k_blocks`, `one_k_blocks_used`, `one_k_blocks_free`, `used_percentage`, `mountpoint` - Load average: `one`, `five`, `fifteen` - Memory: `total`, `free`, `used` - Uptime: `seconds` As well as the following go-sbot process statistics: - Sbot: `state`, `memory`, `uptime`, `downtime` ## Example Usage ```rust use peach_stats::{sbot, stats, StatsError}; fn main() -> Result<(), StatsError> { let cpu = stats::cpu_stats()?; let cpu_percentages = stats::cpu_stats_percent()?; let disks = stats::disk_usage()?; let load = stats::load_average()?; let mem = stats::mem_stats()?; let uptime = stats::uptime()?; let sbot_process = sbot::sbot_stats()?; // do things with the retrieved values... Ok(()) } ``` ## Feature Flags Feature flags are used to offer `Serialize` and `Deserialize` implementations for all `struct` data types provided by this library. These traits are not provided by default. A choice of `miniserde` and `serde` is provided. Define the desired feature in the `Cargo.toml` manifest of your project: ```toml peach-stats = { version = "0.1.0", features = ["miniserde_support"] } ``` ## License LGPL-3.0.